i18n-безопасный неопределенное понятие. Это обычно относится для кодирования, который будет работать в международных общественных мнениях - с другой локалью, клавиатурой, наборы символов и т.д. Истинный i18n-безопасный код трудно написать.
Это означает, что код не может полагаться:
sizeof (символ) == 1
, потому что тот символ мог быть 4-байтовым символом UTF-32 или 2-байтовым символом UTF-16, и занять несколько байтов.
Это означает, что код не может полагаться на длину строки, равняющейся числу байтов в строке. Это означает, что код не может полагаться на нулевые байты в строке, указывающей на nul разделитель. Это означает, что код не может просто принять кодирование ASCII текстовых файлов, строк и исходных данных.