gpt4 book ai didi

utf-8 - UTF-8中的字符串到字节数组?

转载 作者:行者123 更新时间:2023-12-04 04:47:27 33 4
gpt4 key购买 nike

如何将WideString(或其他长字符串)转换为UTF-8中的字节数组?

最佳答案

这样的功能将满足您的需求:

function UTF8Bytes(const s: UTF8String): TBytes;
begin
Assert(StringElementSize(s)=1);
SetLength(Result, Length(s));
if Length(Result)>0 then
Move(s[1], Result[0], Length(s));
end;

您可以使用任何类型的字符串来调用它,RTL将从传递给UTF-8的字符串的编码转换。因此,不要以为您必须在调用之前将其转换为UTF-8,只需传入任何字符串并让RTL完成工作即可。

之后,这是一个相当标准的数组副本。请注意,该断言明确指出了对UTF-8编码的字符串的字符串元素大小的假设。

如果要获得零终止符,可以这样写:
function UTF8Bytes(const s: UTF8String): TBytes;
begin
Assert(StringElementSize(s)=1);
SetLength(Result, Length(s)+1);
if Length(Result)>0 then
Move(s[1], Result[0], Length(s));
Result[high(Result)] := 0;
end;

关于utf-8 - UTF-8中的字符串到字节数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5233480/

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