Да, мы говорим о кодах ASCII. Мои пристрастия я здесь не Дельфи.Как преобразовать символы Unicode в коды ascii в delphi 7?
ответ
Для Delphi 7 я получил бы the free Unicode Library by Mike Lischke, кто является автором Virtual Treeview.
В библиотеку Libary входит множество функций преобразования, которые можно использовать в Unicode, и вы можете использовать те, которые имеют наибольший смысл в вашем приложении.
Or you can upgrade to Delphi 2009, который имеет встроенные процедуры кодирования и собственную библиотеку функций преобразования.
Это зависит от того, какое именно вы являетесь вашим переводом. Если вы хотите сопоставить 127 младших символов с эквивалентом Unicode, вы можете использовать явное приведение. Но это создает мусор, если строка содержит более высокие символы.
Если вам нужны сопоставления, такие как ë -> e и û -> u, вы можете написать свой собственный код. Но имейте в виду, что всегда есть символы, которые нельзя преобразовать.
Вы не хотите писать свой собственный код для преобразования набора символов! – lkessler 2008-11-21 01:05:27
В качестве примера буква A представлена в unicode как U + 0041, а в ansi - всего 41. Таким образом, преобразование было бы довольно простым, но вы должны узнать, как кодируется символ Юникода. Наиболее распространенными являются UTF-16 и UTF-8. UTF 16, в основном два байта на символ, но даже это упрощение, так как символ может иметь больше байтов. UTF-8 звучит так, как будто это означает 1 байт на символ, но может быть 2 или 3. Чтобы еще больше усложнить ситуацию, UTF-16 может быть немного большим или большим. (U + 0041 или U + 4100).
Если ваш вопрос не имеет смысла, если вы хотите, например, преобразовать арабскую букву ain U + 0639 в ansi в английский язык. Вы не можете.
«ASCII» - это имя конкретного сопоставления символов с цифрами, но некоторые люди говорят «код ASCII», когда они вообще не означают ASCII; они просто хотят числовое значение символа, независимо от того, какое отображение действует в то время. Означает ли это описание для вас?
Если да, то вы можете использовать стандартную функцию Ord
, чтобы получить значение кодовой точки Unicode любого символа Юникода, который у вас есть.
var
wc: WideChar;
ws: WideString;
x: Word;
x := Ord(wc);
x := Ord(ws[1]);
Если вы на самом деле означает ASCII, хотя, тогда вы должны быть более конкретными о том, какие преобразования вы имеете в виду.
См связанные вопросы о преобразовании из Unicode в ASCII:
- How to convert UTF-8 to US-Ascii in Java
- How to convert a Unicode character to its ASCII equivalent
- How do I convert a file’s format from Unicode to ASCII using Python?
В общем, набор символов из сотен тысяч записей не могут быть преобразованы в набор символов из 127 записей без какой-либо потери информации или схемы кодирования.
Вы можете использовать эту функцию в http://swissdelphicenter.ch/en/showcode.php?id=1692
Он преобразует строку Unicode в строку Ansi, используя указанную кодовую страницу.
Если вы хотите преобразовать с помощью системы по умолчанию кодовую (определенный в региональных вариантов, как не-юникод кодировке), вы можете сделать это просто, как следующее:
var
ws: widestring;
s: string;
begin
s:=string(ws)
Давайте кое-что прямо. Набор символов (кодировка) и кодировка символов - это две связанные, но разные концепции. Набор символов представляет собой абстрактный список символов с определенным кодом целочисленного символа. Затем существуют кодировки символов, которые в основном представляют собой алгоритм, описывающий, как символы представлены в байтах.
ASCII действует как набор символов и кодировка. Он использует 7 бит для выражения 128 символов (94 для печати). Unicode, с другой стороны, представляет собой набор символов, выражающий 1,114,112 кодовых точек. Существует несколько кодировок для представления строк Unicode, но наиболее примечательными являются UTF-8, UTF-16, UTF-16LE и UTF-32. Другими словами, один символ Unicode может быть представлен различными способами в зависимости от кодировок.
Как преобразовать символы Unicode в коды ascii в delphi 7?
Я думаю, что вопрос может быть истолкован двумя способами.
У меня есть строка Unicode в некоторой кодировке, которая включает только символы ASCII для печати. Как преобразовать строку в массив байтов кодировки ASCII?
У меня есть строка Unicode в некоторой кодировке, которая также включает символы, не содержащие ASCII, такие как иероглифы. Как кодировать строку в кодировку ASCII без потери информации, а затем декодировать ее обратно в исходную строку Unicode?
Если вы имеете в виду первый, вы можете загрузить строку Unicode в WideString как Осман говорит и делать
var
original: WideString;
s: AnsiString;
begin
s := AnsiString(original);
Если вы имеете в виду второе, вы должны были бы алгоритм общего кодирования как Base64 кодирования , Вы можете использовать DCPBase64.pas, включенный в DCPcrypt v2 Beta 3 Дэвида Бартона.
- 1. Как преобразовать символы Unicode в escape-коды
- 2. Преобразование символов Unicode в эквивалентные ASCII-коды
- 3. Как преобразовать коды Html в соответствующие символы Unicode
- 4. код Возвращает символы Unicode Как Преобразовать в ASCII
- 5. Преобразование символов ASCII в символы Unicode
- 6. Как преобразовать эти коды ASCI в Unicode?
- 7. как преобразовать unicode в латинские символы python
- 8. javascript - как преобразовать строку unicode в ascii
- 9. Как получить японские символы в Delphi 7
- 10. Как я могу получить содержимое unicode TTNTRichEdit в Delphi 7?
- 11. Являются ли символы Unicode и Ascii одинаковыми?
- 12. Генерировать символы Ascii/Unicode в Cmd.exe
- 13. Преобразовать Non-ASCII в символы Юникода
- 14. Non-ASCII, символы не-Unicode в литералах
- 15. питон, как преобразовать ASCII коды оригинальных персонажей
- 16. Как конвертировать unicode в ASCII?
- 17. преобразовать массив символов ASCII в строку UNICODE
- 18. преобразовать в символы ASCII VB.net ssis
- 19. Функция Excel - преобразовать unicode в ascii
- 20. Как заменить символы Unicode на ASCII
- 21. Как преобразовать символы Unicode в правильные символы языка в Java?
- 22. Как преобразовать эти символы в соответствующие символы Unicode в Ruby?
- 23. Как преобразовать имена файлов из unicode в ascii
- 24. Преобразование unicode в ascii
- 25. Как печатать коды Unicode как символы в C?
- 26. Как преобразовать ANSI-байты в строку Unicode?
- 27. Работа с строками Unicode в Delphi 7
- 28. Как конвертировать ASCII или Unicode в кириллицу?
- 29. CHR эквивалент Unicode в Delphi 7
- 30. Как ASCII, как символы распознаются двоичными значениями в UNICODE?
Любая конкретная версия Delphi? – 2008-11-20 12:48:02
Название действительно не говорит все! Я не уверен, что вы понимаете unicode, иначе я не понял ваш вопрос. – Steve 2008-11-20 13:09:47
Мы уже знали, что мы говорим о кодах ASCII, потому что это то, что вы сказали в названии. Но вы не сказали, какое преобразование вы имеете в виду. Можете ли вы привести несколько примеров ввода и результаты, которые вы ожидаете от них? Возможно, вам нужно, чтобы разработчик Delphi задал вопрос. – 2008-11-21 02:58:19