2010-08-11 2 views
0

Я прочитал некоторую строку с кодировкой (windows-1256), но цифры в этой строке, закодированные с использованием (UTF-8), и в результате все текст, кроме номеров (закодированных с помощью utf-8), считывается, но номера отображаются как (?), что является приемлемым. но я хочу знать, как я могу читать полный текст без проблем, как узнать, когда переключаться между кодировками, чтобы читать правильный текст.
ПРИМЕЧАНИЕ. Браузеры отображают этот текст правильно, поэтому они знают, когда они должны переключаться.Чтение строки смешанного кодирования

Любое решение или код?

+0

любой случай, если исходная строка будет читать (все это) отлично, как utf8? –

+0

Нет, я не могу прочитать закодированную строку windows-1256 с использованием utf8, потому что она возвращает неправильные символы в виде куба;) Большая часть строки - это windows-1256, а только номера UTF-8, поэтому мне интересно, как браузер может ее отображать успешно – Ehsan

ответ

0

Нижняя половина кодовой страницы windows-1256 совпадает с ASCII. Цифры в UTF-8 также совпадают с ASCII - если вы читаете строку с кодировкой windows-1256, она должна работать нормально.

+1

Если они не являются [Восточно-Арабский] (http://en.wikipedia.org/wiki/Eastern_Arabic_numerals) номерами. – dreamlax

+0

Да, это точно арабские числа, и если я прочитаю их с окнами-1256, которые вернутся (?) – Ehsan

+0

, вы правы, но арабские цифры имеют другой код ASCII, и проблема заключается в чтении арабского номера UTF8 с окнами-1256, я должен каким-то образом обнаружить номеров и читать их с правильным кодированием. – Ehsan

Смежные вопросы