gpt4 book ai didi

delphi - 如何使用任意字符串编码?

转载 作者:行者123 更新时间:2023-12-03 18:05:46 25 4
gpt4 key购买 nike

我正在尝试让一些代码针对一家中国公司发布的 API 工作。我有一个规范和一些示例代码(在 Java 中),足以了解大部分正在发生的事情,但是我遇到了一件我不知道该怎么做的事情。

String ecodeform = "GBK";
String sm = new String(Hex.encodeHex("Insert message here".getBytes(ecodeform))); //test message
它是从原始字符串的十六进制表示的char数组结果中创建一个字符串,以GBK格式(标准汉字编码,相当于英文文本的ASCII)编码。我可以弄清楚如何在 Delphi 中完成大部分工作,但我不知道如何将字符串编码为 GBK,这是此 API 所特别要求的。
SysUtils ,有一个 TEncoding带有一些内置编码的类,例如 UTF8 , UTF16 ,和“默认”(系统的默认代码页),但我不知道如何为任意编码(如 GBK)设置 TEncoding。
有谁知道如何设置?

最佳答案

您可以使用 TEncoding.GetEncoding()获取 TEncoding 的方法特定代码页/字符集的对象,例如:

var
Enc: TEncoding;
Bytes: TBytes;
begin
Enc := TEncoding.GetEncoding(936); // or TEncoding.GetEncoding('gb2312')
try
Bytes := Enc.GetBytes('Insert message here');
finally
Enc.Free;
end;
// encode Bytes to hex string as needed...
end;

关于delphi - 如何使用任意字符串编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30084226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com