Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.07.24;
Скачать: [xml.tar.bz2];

Вниз

Непонятки с кодировкой   Найти похожие ветки 

 
jacksotnik   (2011-04-20 15:51) [0]

Получаю код символа с помошью ord например буква русская "а" орд мне возвращает код 1072 я смотрю в таблице ascii у этого символа код 160, как получить правильный код?


 
Плохиш ©   (2011-04-20 15:53) [1]


> [D7, XP]


> буква русская "а" орд мне возвращает код 1072

Враньё.


 
jacksotnik   (2011-04-20 15:56) [2]

Отвечаю symb:=ord(str[i]); ввожу "а" и в переменной у меня оказывается 1072


 
oldman ©   (2011-04-20 15:58) [3]


> symb:=ord(str[i]); ввожу "а"


Кто на ком стоял?


 
Ega23 ©   (2011-04-20 16:00) [4]


> Отвечаю symb:=ord(str[i]); ввожу "а" и в переменной у меня
> оказывается 1072

Если Delphi 7 и тип string - враньё.


 
Плохиш ©   (2011-04-20 16:00) [5]

Не используй WideString.


 
Ega23 ©   (2011-04-20 16:00) [6]


> Не используй WideString.

+1


 
jacksotnik   (2011-04-20 16:09) [7]

вот этот параметр str function TZero_bits.CountZeroBits(str: string): integer;

передаю так CountZeroBits(edit1.Text)


 
Ega23 ©   (2011-04-20 16:11) [8]


> вот этот параметр str function TZero_bits.CountZeroBits(str:
>  string): integer;


Код функции в студию.


 
oldman ©   (2011-04-20 16:12) [9]


> TZero_bits.CountZeroBits(str: string): integer;


Блин... Начинающий, с ветками разберись уже!!!


 
Медвежонок Пятачок ©   (2011-04-20 16:12) [10]

Отвечаю symb:=ord(str[i]); ввожу "а" и в переменной у меня оказывается 1072

Вводишь "а" и чё?

А что в это время лежит в "i" ?

И что показывает ShowMessage(str[i]) ?


 
Ega23 ©   (2011-04-20 16:15) [11]


> Получаю код символа с помошью ord например буква русская
> "а" орд мне возвращает код 1072 я смотрю в таблице ascii
> у этого символа код 160, как получить правильный код?


Проверил. У тебя юникодная строка.
Delphi 2010:

procedure TForm12.Button5Click(Sender: TObject);
const
 a: Char = "а";
begin
 ShowMessage(IntToStr(Ord(a)));
end;


Ровно 1072


 
Ega23 ©   (2011-04-20 16:17) [12]

При этом код
procedure TForm12.Button5Click(Sender: TObject);
const
 a: AnsiChar = "а";
begin
 ShowMessage(IntToStr(Ord(a)));
end;


даёт результат 224 (что и соответствует строчной "а", 160 - неверно).


 
oldman ©   (2011-04-20 16:18) [13]


> Ega23 ©   (20.04.11 16:15) [11]


Я ему и в прошлой ветке на гугль намекал.
Но чукча не читатель, чукча писатель.


 
oldman ©   (2011-04-20 16:20) [14]


> даёт результат 224 (что и соответствует строчной "а", 160
> - неверно).


естественно, поскольку 1072-848 равно таки 224


 
Anatoly Podgoretsky ©   (2011-04-20 20:37) [15]


> jacksotnik   (20.04.11 15:56) [2]

Где код, а не этот огрызок


 
han_malign   (2011-04-21 08:33) [16]


> 160 - неверно).

- это 866-я кодовая страница(aka. OEM)...


 
han_malign   (2011-04-21 08:50) [17]

З.Ы. А еще ведь есть KOI-8r, ISO-8859-5, не говоря уж о всякой экзотике вроде  EBCDIC(cp-880), и о ужас - UTF8...


 
Ega23 ©   (2011-04-21 09:21) [18]


> - это 866-я кодовая страница(aka. OEM)...

А, ну это да, может быть.

> и о ужас - UTF8...

Угу, что мы и имеем в реальности.


 
Inovet ©   (2011-04-21 11:14) [19]

У автора таблица из старого учебника или первая попавшаяся в Инете. Хотя бы в Вики посмотрел
http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%B4%D0%BE%D0%B2%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0


 
han_malign   (2011-04-21 15:15) [20]


> Угу, что мы и имеем в реальности.

- не, $0432 - это нормальный UCS-2.

Word(UTF8("а") = $D0,$B0) = $B0D0 = 45264

Ord(Utf8String("а")[1]) = $d0 = 208


 
Ega23 ©   (2011-04-21 15:35) [21]


> Ord(Utf8String("а")[1]) = $d0 = 208

Как ты 208 получил?



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2011.07.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.002 c
15-1302211804
Юрий
2011-04-08 01:30
2011.07.24
С днем рождения ! 8 апреля 2011 пятница


15-1302035404
Юрий
2011-04-06 00:30
2011.07.24
С днем рождения ! 6 апреля 2011 среда


15-1300952669
test_test
2011-03-24 10:44
2011.07.24
Дайте по рукам


2-1303058118
prodex
2011-04-17 20:35
2011.07.24
Ошибка при вызове CreateBlobStream


15-1302270628
Galera
2011-04-08 17:50
2011.07.24
Медленный поиск у RxMemoryData





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский