求助一个法语转化为UTF8的问题

yanwuhuan 2005-11-29 08:26:28
有个法语的文件,用的是ansi编码(也许不叫这个...),现在要转化为utf8的,请问该如何编写代码?我的转换总是不成功,怪怪的。

有个例子,把0xa8 0xa8,转变成0xc3 0xa8,就算ok了。
这个字母是 è ,他的ansi编码是0xa8 0xa8,utf8是0xc3, 0xa8

代码如下:
use Encode qw/from_to encode decode/;
use encoding 'utf8';
# 为了防止编辑器显示不同而直接用十六进制生成字符串
$a = pack("C*", 0x61, 0xa8, 0xa8, 0x72); # 原始字符串 aèr
dumphex($a);

$a = pack("C*", 0x61, 0xa8, 0xa8, 0x72);
$b = decode("iso-8859-15", $a); # 试过换成iso-8859-1,仍然不成
$a = encode("utf8", $b);
dumphex( $a );

dumphex( pack("C*", 0x61, 0xc3, 0xa8, 0x72) ); # 应当转换为此

sub dumphex
{
my ($str) = @_;
print $str, "\t\t";
foreach (unpack("C*", $str))
{
printf "%lx", ord(chr($_));
print " ";
}
print "\n";
}
...全文
486 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanwuhuan 2006-01-05
  • 打赏
  • 举报
回复
怎么给了分却不算结贴?再想结贴却不行了~
yanwuhuan 2006-01-05
  • 打赏
  • 举报
回复
to swjr:
你说的那种也试验过了,不过都不是正确的结果。正确的结果代码里写出来了。

to cangwu_lee:
这就是我的环境。这几个有关的包都试验过了,不过可惜:(

一直没有解决~不过还是结贴吧。
多谢关注。
cangwu_lee 2005-12-15
  • 打赏
  • 举报
回复
Perl 5.8
encode.pm
swjr 2005-11-30
  • 打赏
  • 举报
回复
为什么我的结果与你的不一致?

>>> unicode('è','iso-8859-1').encode('utf-8')
'\xc2\xa8\xc2\xa8'

你看,我得到的utf-8编码是 \xc2\xa8\xc2\xa8
【SCI复现】基于纳什博弈的多微网主体电热双层共享策略研究(Matlab代码实现)内容概要:本文研究基于纳什博弈理论的多微网主体电热双层共享策略,通过构建双层优化模型实现多微网系统间的电能与热能协同调度与资源共享。上层模型以各微网主体为独立参与者,基于纳什博弈框架优化自身利益,下层模型则考虑能源耦合关系与网络约束,实现系统整体能效优化。研究采用Matlab进行代码实现与仿真验证,复现了SCI级别研究成果,涵盖模型构建、博弈均衡求解、能量共享机制设计等关键环节,有效提升了多微网系统的经济性与能源利用效率。; 适合人群:具备一定电力系统、博弈论及优化算法基础,从事能源互联网、微电网调度、综合能源系统等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于多微网系统中电热协同优化调度策略的设计与仿真;②支撑纳什博弈在能源共享场景中的建模与求解实践;③为综合能源系统中主体间利益协调与资源分配提供理论参考与代码实现范例; 阅读建议:建议结合Matlab代码深入理解双层模型的实现逻辑,重点关注博弈均衡的求解过程与收敛性分析,同时可拓展至其他多主体能源系统应用场景进行二次开发与验证。

37,744

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧