Согласно документации iconv_open() по: http://www.gnu.org/software/libiconv/documentation/libiconv/iconv_open.3.htmllibiconv - iconv_open() поведение по умолчанию?
«// TRANSLIT» означает, что, когда персонаж не может быть представлен в целевом наборе символов, он может быть аппроксимирована с помощью одного или нескольких символов.
и:
«// ИГНОРИРУЙТЕ» означает, что символы, которые не могут быть представлены в целевом наборе символов будут молча отбрасываются.
Но каково поведение по умолчанию, когда ни один не указан?
Спасибо, Doori Bar поведение
Спасибо за разъяснение. Мне было интересно, можно ли проинструктировать iconv, просто -copy- эти байты/символы в выходной буфер? – DooriBar
@DooriBar: Я так не верю. Это не было бы вообще полезно, так как байты от непереводимого символа не могут нести какое-либо особое значение в наборе символов назначения и, возможно, даже не представляют допустимую многобайтовую последовательность. – caf
Это мой сценарий: моим источником является UTF-16LE, который -может содержать недопустимые многобайтовые последовательности. Я хотел бы преобразовать этот источник в UTF-8 и в зависимости от того, какие недопустимые байты не могут быть правильно представлены - прозрачно скопированы. В будущем, если мне нужно будет восстановить исходную последовательность UTF-16LE, я хочу иметь возможность конвертировать форму UTF-8 в UTF-16LE, будучи идентичной. Возможно ли это? или я должен перестать пытаться? – DooriBar