近期用到這個函式,無奈沒有找到 delphi 自帶的,網上找了下 有類似的,沒有現成的,我需要的是 支援 「\u4f00 」 這種格式的,即前面帶標準的 「\u」 於是改造了一下。
下面是 解碼 函式:
方便有需要的人吧,我自己也需要^_^
/// //
/ // unicode轉漢字 ,支援自動過濾非 unicode編碼,即非 unicode編碼不轉換
/// 只支援 標準的 型別 \u4e00 這種格式的 轉換, 以\u 開頭的
/// code by 猿哥哥 2015-2-11
///
function tmyencode.unicodetochinese(inputstr:string):string
;var
i:integer;
index:integer;
temp,top,last:
string
;begin
index:=1
;
while index>=0
dobegin
index:= inputstr.indexof('\u'
); if index<0
then
begin
last:=inputstr;
result:= result+last;
exit;
end;
top:= copy(inputstr,1,index); //
取出 編碼字元前的 非 unic 編碼的字元,如數字
temp:= copy(inputstr,index+1,6);//
取出編碼,包括 \u ,如\u4e3f
delete(temp,1,2
); delete(inputstr,
1,index+6
); result:= result+ top+ widechar( strtoint('
$'+temp)) ;
end;end;
Delphi7中儲存unicode的BUG?
delphi7 中儲存unicode 的bug 近日,在用 delphi7 做unicode 的程式時發現了這樣乙個問題,就是使用 tado mand 元件執行 sql語句時,如果 sql語句中有 unicode 字元,儲存在資料庫裡會出現亂碼,使用 ttntadoquery 也是一樣 使用引數方式...
delphi讀音 delphi漢字轉拼音
loading.function getpyindexchar hzchar string char begin 的到乙個漢字的拼音頭個字母 case word hzchar 1 shl 8 word hzchar 2 of b0a1.b0c4 result a b0c5.b2c0 result b...
UniCode下CString轉char 的方法
1unicode下cstring轉換為char 2unicode下char 轉換為cstring 今天進行檔案操作時,將cstring的getbuffer 後直接倒到char陣列後寫入檔案發現 每個字元與字元之間都有乙個空格存在,而且有內容丟失。原來cstring類物件getbuffer 後以後還是...