function unicodeencode(str:string;codepage:integer):widestring;
varlen:integer;
begin
len:=length(str)+1;
setlength(result,len);
len:=multibytetowidechar(codepage,0,pchar(str),-1,pwidechar(result),len);
setlength(result,len-1); //end is #0
showmessage(result);
end;
function unicodedecode(str:widestring;codepage:integer):string;
varlen:integer;
begin
len:=length(str)*2+1; //one for #0
setlength(result,len);
len:=widechartomultibyte(codepage,0,pwidechar(str),-1,pchar(result),len,nil,nil);
setlength(result,len-1);
end;
function gb2big5(str:string):string;
begin
setlength(result,length(str));
lcmapstring(getuserdefaultlcid,lcmap_traditional_chinese,
pchar(str),length(str),
pchar(result),length(result));
result:=unicodedecode(unicodeencode(result,936),950);
end;
function big52gb(str:string):string;
begin
str:=unicodedecode(unicodeencode(str,950),936);
setlength(result,length(str));
lcmapstring(getuserdefaultlcid,lcmap_simplified_chinese,
pchar(str),length(str),
pchar(result),length(result));
end;
//關鍵使用了unicodetoutf8這個函式
function utf8encode(const ws: widestring): utf8string;
varl: integer;
temp: utf8string;
begin
result := '';
if ws = '' then exit;
setlength(temp, length(ws) * 3); // setlength includes space for null terminator
l := unicodetoutf8(pchar(temp), length(temp)+1, pwidechar(ws), length(ws));
if l > 0 then
setlength(temp, l-1)
else
temp := '';
result := temp;
end;
procedure tform1.button1click(sender: tobject);
var y:widestring;
x:string;
begin
y:='i am 錢波';
x:=format('%d',[length(y)]);
showmessage(x);
y:=unicodeencode(edit1.text,cp_acp);
showmessage(y);
end;
Delphi10 2utf8的編碼轉換
delphi中的text轉換為utf8格式的使用如下 procedure tform22.bt1click sender tobject var s string begin s edit1.text 你好。abc123 edit2.text utf8encode s 你好。abc123 end 一...
delphi中URL的漢字編碼
show.asp?sort 全部 sortlevel 1 gorq 供 n 5 sitename 全部 img yes imgfile images dot g.gif 在delphi2010中,因為引入unicode的緣故,預設的成了3個 xx,導致我的程式出現問題,找了半天,每一個函式能夠實現全...
Delphi中處理URL編碼解碼
delphi中處理url編碼解碼 一 url簡介 url是網頁的地址,比如 瀏覽器通過 url 從 web 伺服器請求頁面。由於 url字串常常會包含非ascii字元,url在傳輸過程中,往往出現錯誤。因此,可以將非字串字元,讓一些特殊ascii字元組合,代替非ascii字元。這就是編碼轉換,當字串...
jsp中的編碼轉換
通常,在涉及到中文的 頁面中,要根據不同的情形進行相應的編碼變換 要使 頁面能正確顯示中文,在 頁面中加入 page contenttype text html charset gb2312 要使jsp頁面正確接收來自上一個頁面提交的含中文資訊的表單,以及從資料庫或是檔案中正確讀出中文資訊,就需要將...
C 中的編碼轉換
好長時間沒有寫編碼轉換.今天寫了下特地放上來供大家以後用到就不用去找了.將一個字串轉換成unicode型別的base64編碼的字串如下 convert.tobase64string encoding.unicode.getbytes unicodestring 紅色標明的是還可以轉換bigendia...