是的,我們正在談論ASCII碼。我的appologies我不是這裏的德爾福開發。如何將unicode字符轉換爲delphi 7中的ascii代碼?
回答
對於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如此轉換,這將是非常簡單的表示,但你必須找出Unicode字符的編碼方式。最常見的是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字符的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字符串。
如果要使用默認的系統代碼頁(在區域選項定義非Unicode代碼頁)轉換,你可以這樣做只是像以下:
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字符轉換爲delphi 7中的ascii代碼?
我認爲這個問題可以用兩種方式解釋。
我在一些只包含ASCII可打印字符的編碼中有一個Unicode字符串。如何將字符串轉換爲ASCII編碼的字節數組?
我有一個Unicode字符串在一些編碼,還包括非ASCII可打印的字符,如中文字符。如何將字符串編碼爲ASCII編碼而不會丟失信息,然後將其解碼回原始Unicode字符串?
如果你指的是第一,你可以像奧斯曼的話說加載Unicode字符串到WideString的和做
var
original: WideString;
s: AnsiString;
begin
s := AnsiString(original);
如果你指的是第二,你需要一個通用的編碼算法像Base64編碼。您可以使用David Barton的DCPcrypt v2 Beta 3中包含的DCPBase64.pas。
- 1. 如何將Unicode字符串轉換爲java中的ASCII碼
- 2. 將Unicode轉換爲ASCII的代碼
- 3. 如何將ASCII(Unicode)代碼轉換爲Qt :: Key_代碼?
- 4. 將Unicode字符串轉換爲ASCII
- 5. 如何將unicode字符轉換爲c#中的轉義ascii等效字符#
- 6. 如何將Html代碼轉換爲相關的Unicode字符
- 7. 多個ascii代碼轉換爲字符
- 8. 將Unicode字符轉換爲等效的ASCII字符
- 9. AS3:如何將ascii代碼轉換爲字符動作
- 10. 將unicode URL轉換爲ASCII
- 11. javascript - 如何將unicode字符串轉換爲ascii
- 12. 如何將Unicode值轉換爲ASCII字符串?
- 13. 如何將unicode轉換爲ASCII?
- 14. 使用grayVal轉換爲Ascii字符將圖像轉換爲Ascii代碼
- 15. 如何將Shift_JIS字符代碼轉換爲python中的unicode字符?
- 16. 將字符串轉換爲ASCII碼
- 17. 如何將ascii代碼轉換爲c#中的正常代碼?
- 18. 將Unicode字符串轉換爲Python中的ASCII 2.7
- 19. 如何將ASCII碼轉換爲C++中的字符?
- 20. 如何使用Python將unicode字符串中的重音字符轉換爲unicode字符代碼?
- 21. 如何將字符串轉換爲具有偶校驗的7位ASCII碼?
- 22. Bash:將非ASCII字符轉換爲ASCII
- 23. 如何字符轉換爲它的ASCII二進制代碼
- 24. 將ASCII編碼轉換爲它的ASCII字符代碼 - C(不打印!)
- 25. 如何將html友好的ascii代碼轉換爲c#中的字符串?
- 26. 將ASCII轉換爲.NET中的字符
- 27. 下面的代碼是否將字符轉換爲其ASCII值?
- 28. 如何將Unicode轉義序列轉換爲.NET字符串中的Unicode字符?
- 29. 將擴展的ASCII字符代碼轉換爲utf-8字節代碼
- 30. 將Unicode字符轉換爲ASCII(.NET)中最接近的(最相似的)字符
任何特定的德爾福版本? – 2008-11-20 12:48:02
標題並沒有真正說出這一切!我不確定你是否理解unicode,否則我誤解了你的問題。 – Steve 2008-11-20 13:09:47
我們已經知道我們正在談論ASCII碼,因爲這就是你在標題中所說的。但是你沒有說過你的意思是什麼樣的轉換。你能舉出一些例子和你期望他們產出的輸出嗎?也許你應該讓Delphi開發者提出這個問題。 – 2008-11-21 02:58:19