delphi2009 字串轉codepage編碼

2021-08-20 21:18:19 字數 757 閱讀 4938

delphi2009中使用自帶的tencoding類進行解碼時,部分utf-8字元無法正確解碼,阿拉伯字元全部都為問號。

所以使用api函式進行轉換。

type

barr=array of byte;

function decode2bytes(strinput:widestring;codepageidentifier:cardinal):barr;

vartlen,lngbuffersize,lngresult,i:integer;

bytresult:barr;

begin

tlen := length(strinput);

if tlen = 0 then

exit;

lngbuffersize := tlen * 3 + 1;

setlength(bytresult,(lngbuffersize - 1));

lngresult := widechartomultibyte(codepageidentifier, 0, @strinput[1], tlen, @bytresult[0], lngbuffersize, nil, 0);

setlength(result,lngresult);

for i := 0 to lngresult - 1 do

result[i]:=bytresult[i];

end;

ps:1.barr為自定義byte陣列型別。

2.codepageidentifier源自微軟

8 字串轉整數

請你來實現乙個 atoi 函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。接下來的轉化規則如下 如果第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字字元組合起來,形成乙個有符號整數。假如第乙個非空字元是數字,則直接將其與...

8 字串轉整數

請你來實現乙個 atoi 函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。接下來的轉化規則如下 如果第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字字元組合起來,形成乙個有符號整數。假如第乙個非空字元是數字,則直接將其與...

8 字串轉整數(atoi)

實現atoi,將字串轉為整數。說明 這題解釋的比較模糊 即沒有指定輸入格式 你得事先匯集所有的輸入情況。atoi的要求 這個函式需要丟棄之前的空白字元,直到找到第乙個非空白字元。之後從這個字元開始,選取乙個可選的正號或負號後面跟隨盡可能多的數字,並將其解釋為數字的值。字串可以在形成整數的字元後包括多...