Форум: "Начинающим";
Текущий архив: 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