Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.07.24;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.007 c
2-1302772191
Учусь
2011-04-14 13:09
2011.07.24
Inno Setup и папки юзера


2-1303316751
Лариса
2011-04-20 20:25
2011.07.24
Много вопросов по StringGrid


2-1303139778
Лариса
2011-04-18 19:16
2011.07.24
Помогите подобрать компонент!


2-1303294957
jacksotnik
2011-04-20 14:22
2011.07.24
помогите с задачкой


2-1303219375
harisma
2011-04-19 17:22
2011.07.24
Горизонтальная прокрутка в TTreeView