Delphi에서 big5 변환 Unicode 함수
1886 단어 unicode
function Big5ToUnicode(str Char): widestring;
var
len: integer;
begin
len:=MultiByteToWideChar(950,0,PChar(str),-1,nil,0);
setlength(result,len-1);
MultiByteToWideChar(950, 0, PChar(str), -1, pwidechar(result), len+1);
result:=' '+result;
end;
MultiByteToWideChar(950, 0, PChar(str), -1, pwidechar(result), len+1) 매개 변수의 의미:
950: 부호, 950 즉 Big5와 Unicode의 대응 표;0: 이 분은 0을 쓰면 됩니다.PChar(str): 문자열의 주소(여기 PChar로 한 번 강제로 변환했으니 필요 없을 것 같음); -1: 문자열 길이, -1이면 자동으로 길이를 계산하여 문자열 끝으로 변환합니다.pwidechar(result): 결과를 저장하는 주소;len+1: 버퍼 크기, 0 함수이면 필요한 버퍼 크기를 되돌려줍니다.
Big5 To Unicode 함수에서 Multi Byte To Wide Char는 두 번 사용됩니다. 첫 번째는 필요한 버퍼 크기를 계산하고 두 번째는 본격적인 변환입니다.결과의 길이를 얼마나 설정했는지 실험해 봐야 한다. 왜냐하면 끝에 원하지 않는 문자가 있을지도 모르기 때문이다.그러나 0을 설정하지 않거나 설정할 수 없습니다. 이렇게 하면result가 주소 분배를 받지 못하고 전환이 잘못될 수 있습니다.
GB2312의 경우 번호 936이다.대부분의 디코딩 소프트웨어는 이 API를 사용했고 GB2312와 Big5의 상호 변환도 유니코드를 통해 이루어졌다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JS의 문자열에서 베트남어 문자 제거텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.