FireMonkey 예제 자료

파이어몽키 안드로이드 EUC-KR Encode 인코딩

kimsyo11 2022. 1. 18. 05:03
728x90

안드로이드에서 문자열을 EUC-KR 인코딩을 문자열로 출력 하는것을 만들어 본것입니다

function EucKREncode(TmpStr1 : String) : String; //EUC_KR 인코딩
var TmpArr1, TmpArr2: Array of Byte;
    TmpInt1: Integer;
    TmpStr2: RawByteString;
begin
  TmpStr2 := AnsiToUTF8(TmpStr1);

  TmpInt1 := UnicodeFromLocaleChars(65001, 0, @TmpStr2[0], Length(TmpStr2), nil, 0);
  SetLength(TmpArr1, TmpInt1);
  UnicodeFromLocaleChars(65001, 0, @TmpStr2[0], Length(TmpStr2), @TmpArr1[0], TmpInt1);

  TmpInt1 := LocaleCharsFromUnicode(949, 0, @TmpArr1[0], Length(TmpArr1), nil, 0, nil, nil);
  SetLength(TmpArr2, TmpInt1);
  LocaleCharsFromUnicode(949, 0, @TmpArr1[0], Length(TmpArr1), @TmpArr2[0], TmpInt1, nil, nil);

  Result := '';
  for TmpInt1 := 0 to TmpInt1 -1 do
    result := result + '%' + IntToHex(TmpArr2[TmpInt1], 2);
end;
728x90