Неправильные текстовые данные при экспорте в двоичном виде - Textmode - PullRequest
0 голосов
/ 19 декабря 2008

Я создаю файл, который содержит такие данные.

78,45,New things,200, Number of columns,2.00,5

Когда я открываю файл в textpad с двоичным типом textformat.

0: FF FE 33 00 36 00 2C 80 00 20 30 10 4F 7.8.4.5,4.5,

В части данных он имеет (.) Между двумя последовательными цифрами.

1 Ответ

2 голосов
/ 19 декабря 2008

Ваш шестнадцатеричный просмотрщик отображает значение ASCII для каждого байта в файле. Однако файл, похоже, сохраняется как Unicode (он начинается с FF FE, которая является спецификацией Unicode). Обычно текстовые редакторы правильно идентифицируют эту спецификацию (Notepad делает то же, что и Notepad ++, я не знаком с Textpad).

Обратите внимание, что программы просмотра шестнадцатеричных кодов почти повсеместно используют. символ для представления байтового значения, которое не может быть отображено как символ ASCII (или символ из пользовательского набора OEM).

Фактическая кодировка выглядит как Юникод, например 33 00 и 36 00 являются числовыми цифрами, хотя они представляют 36, а не 78, так что представление ASCII справа в вашем вопросе фактически не совпадает со значениями байтов слева.

Строка: - "78,45, N" при сохранении в виде файла Unicode с Litte-endian будет выглядеть в шестнадцатеричном виде: -

FF FE 37 00 38 00 2C 00 34 00 35 00 2C 00 4E 00 ..7.8.,. 4.5., N.

Следовательно, либо средство сохранения контента очень странное и испорченное кодирование, либо Textpad просто не справляется с этим правильно (или вы не используете Textpad правильно). Откройте файл в блокноте, он выглядит нормально?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...