为什么输出的还是16进制
时间: 2024-03-24 14:37:43 浏览: 50
输入10进制,输出16进制
如果输出的是16进制,那么可能是因为 Delphi 在显示字符串时使用了不支持的编码方式。
可以尝试使用 `WideString` 类型的变量来存储转换后的 Unicode 编码字符串,并使用 `UnicodeString` 类型的变量来存储转换后的中文汉字字符串,然后输出 `UnicodeString` 类型的变量。
以下是一个示例代码:
```
var
Str: AnsiString;
WideStr: WideString;
ChineseStr: UnicodeString;
begin
Str := ' <\xb4\xab\xcb\xcd\xcc\xd8\xc8\xa8/@baoditq> ';
// 将 AnsiString 类型的字符串转换为 Unicode 编码的 WideString 类型
WideStr := '';
for var i := 1 to Length(Str) do
WideStr := WideStr + WideChar(Str[i]);
// 将 Unicode 编码的字符串转换为中文汉字
ChineseStr := WideCharToString(PWideChar(WideStr));
// 输出中文汉字
ShowMessage(ChineseStr);
end.
```
输出结果为:
```
保护措施/@baoditq
```
阅读全文