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

Вниз

Как преобразовать строку в Unicode, а так же из Unicode?   Найти похожие ветки 

 
Pahan_   (2004-02-02 22:31) [0]

Subj.


 
jack128   (2004-02-02 23:01) [1]

присваиванием


 
BlackLord2003   (2004-02-03 14:22) [2]

А по точнее? Мне тоже нужно!


 
Тимохов   (2004-02-03 14:26) [3]

Кого преобразовать в unicode?
Если переменную типа string, то присваиванием.
Правда, при преобразовании unicode -> string можно потерять определенные символы.


 
Pahan_   (2004-02-03 19:25) [4]

Имеется ввиду что-то вроде:

var
ws:widestring;
s:string;
begin
ws:=строка_в_юникоде
s:=widestring(ws);
end;

?

Если можно, объясните на простеньком примере.


 
Тимохов   (2004-02-03 19:28) [5]


> Pahan_ (03.02.04 19:25) [4]

Ну в общем да.
К сожалению не помню точно, что происходит с символами, которые не могут быть преобразованы из widestring (типа всякие национальные).
Можешь сам попробовать.


 
Pahan_   (2004-02-03 20:55) [6]

Что-то не получается. Тестировал так:

procedure TForm1.Button1Click(Sender: TObject);
var
ws:widestring;
s:tstringlist;
begin
s:=tstringlist.Create;
s.Text:=WideString(Memo1.Text);
s.SaveToFile("c:\test2.txt");
s.free;
end;

Это не работает.

Далее попытка прочитать из Юникода:

procedure TForm1.Button2Click(Sender: TObject);
var
ws:widestring;
s:tstringlist;
begin
s:=tstringlist.Create;
s.LoadFromFile("c:\test2.txt");
ShowMessage(WideString(s.Text));
s.free;
end;

Тот же результат. Что я делаю не так?


 
Тимохов   (2004-02-03 21:00) [7]


> procedure TForm1.Button1Click(Sender: TObject);
> var
> ws:widestring;
> s:tstringlist;
> begin
> s:=tstringlist.Create;
> s.Text:=WideString(Memo1.Text);
> s.SaveToFile("c:\test2.txt");
> s.free;
> end;


Что-то логики не видно.
Что Вы вообще хотите сделать?
Причем тут Unicode?
Все свойства, которые участвуют в данном коде, являются типа string?

О я начал просекать, что Вам нужно?
Вам надо сохранить строку widechar в файле а потом прочесть? Если да, то см в хелпе Utf8Encode, а также see also.


 
Pahan_   (2004-02-03 21:22) [8]

2 Тимохов

Ок. Признаю, глупость написал. Может переработал, а скорее по незнанию. Просто от этого Юникода в голове такая каша, что уже и не понимаю где что. Давай так: я буду говорить то, что знаю, а ты отвечать - прав я или нет. Начнем.

1. Юникод подразделяется на несколько подразделов, а именно: utf-7, utf-8, utf-16, utf-32 (только не надо отправлять меня на unicode.org. Был я там, читал. Ничего не понял.)?
2. Далее. Какой из этих "подразделов" наиболее часто используется? Вообще, что подразумевается под словом "Юникод". Если можно, по-проще.

Еще вот что: может видел редактор RulNote? Хотя, вообщем-то все равно. Там есть ф-ция такая - экспорт Unicode (так и называется). Экспортирую, к примеру, такой текст:

ТЕСТ текст в Юникоде

На выходе (в Блокноте) получаю вот что:

яю"!" B5:AB 2 .=8:>45

Открываю этот файл в Opera и вижу, что текст определился как UTF-16. В общем в этом вся задача: как бы мне прочитать этот Utf-16?


 
Тимохов   (2004-02-04 11:40) [9]

Определись с задачей.
Я так понимаю, что у тебя задача такая:
1. есть строка типа widestring (т.е. каждый символ представлен двумя байтами)
2. надо ее сохранить в файле (т.е. там, где каждый символ представлен одним байтом)
3. надо прочесть ее из файла в переменную типа widestring

Если задача такая, то тебе надо widestring перевести без потерь в код типа utf (например, 8), представляемый однобайтовой строкой. В дельфи 6 (думаю и в 7) это решается функцией Utf8Encode и аналогичными (см. в справке).

Все.



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

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

Наверх





Память: 0.47 MB
Время: 0.009 c
14-39083
Ломброзо
2004-01-24 00:13
2004.02.13
За Родину, за Путинда!


14-39055
тихий вовочка
2004-01-23 22:53
2004.02.13
Все тот же taskbar


3-38678
Grayver
2004-01-24 06:42
2004.02.13
запрос


6-38981
XFree
2003-12-11 09:57
2004.02.13
Создание городской сети


3-38689
Alek_1
2004-01-25 18:14
2004.02.13
Отчеты БДЕ





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский