Печать значения ASCII BB (HEX) в Unix - PullRequest
0 голосов
/ 27 мая 2011

Когда я пытаюсь вставить символ »(прямые двойные угловые кавычки) в Unix из моего Блокнота, он конвертируется в / 273. Соответствующее шестнадцатеричное значение - BB, а десятичное - 187.

Мое действительное требование - использовать этот символ в качестве разделителя файлов при экспорте файла .dat из таблицы базы данных. Таким образом, этот символ был вставлен в качестве разделителя после каждого имени столбца. Но при копировании он конвертируется в /273.

Есть идеи о том, как это исправить? Я на Солярисе (SunOS 5.10).

Спасибо, Visakh

1 Ответ

1 голос
/ 28 мая 2011

ASCII определяет только коды символов до 127 (0x7F) - все, что после этого, является другой кодировкой, такой как ISO-8859-1 или UTF-8. Убедитесь, что для вашей локали задана кодировка, которую вы пытаетесь использовать - команда locale сообщит о ваших текущих настройках локали, locale (5) и environment (5) man страницы охватывают, как их установить. Гораздо более глубокое введение в общую концепцию кодирования символов можно найти в Джоэла Спольски * Абсолютный минимум, который должен знать каждый разработчик программного обеспечения. Об Unicode и наборах символов (без оправданий!)

Код символа 0xBB отображается как » в таблице символов IS0-8859-1 , так что это, вероятно, необходимый набор символов, поэтому языковой стандарт будет выглядеть примерно так: en_US.ISO8859-1 для этого набора символов с американскими / английскими сообщениями / форматами даты / настройками валюты / и т. д.

...