加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi 7中的utf8decode

发布时间:2020-12-15 09:29:36 所属栏目:大数据 来源:网络整理
导读:我需要使用delphi 7将字符串从utf8转换为widestring.谁能告诉我为什么以下代码在delphi 7中不起作用? Utf8Decode函数的参数只是一个示例. var ws: WideString;begin ws := Utf8Decode('[???…?¨???±] ???·?? ?????§?±- ?????§?± ?…????§?μ?? ?…?
我需要使用delphi 7将字符串从utf8转换为widestring.谁能告诉我为什么以下代码在delphi 7中不起作用? Utf8Decode函数的参数只是一个示例.

var ws: WideString;
begin
   ws := Utf8Decode('[???…?¨???±] ???·?? ?????§?±- ?????§?± ?…????§?μ?? ?…?·????');
end;

在delphi 7中,它给了我很多问号,但是在bds2006中它运行良好.

我是否需要切换一些编译器指令,或者如何在delphi 7中将utf8String转换为Widestring?

Utf8Decode函数没有任何问题,Delphi Code Insight Tooltip表达式评估输出误导了我,它无法显示Widestrings.见下图:

但是MessageBoxW可以显示文本:

解决方法

我认为问题是Delphi 7只能使用ANSI作为源文件.更高版本的Delphi将使用UTF-8作为源文件,实际上您可以指定要用于源文件的编码.

如果将UTF-8编码的字符串解释为ANSI(例如使用记事本),则可以在ANSI源代码文件中嵌入UTF-8编码的字符.例如,此代码使用Delphi 6生成带有文本的消息框.

ws := UTF8Decode('[?????a                        

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读