Chinaunix
标题:
unicode转中文的问题
[打印本页]
作者:
小公猫
时间:
2015-12-29 16:42
标题:
unicode转中文的问题
my $code="\x{5C0A}" ;
print encode("gbk",$code);
复制代码
上面这个代码输出是正确的
下面这个为什么就不行呢?
if ($str=~ /([0-9a-fA-F]{4})/)
{
$code = "\\x{$1}";
}
print $code; #此处输出为\x{5C0A}
print encode("gbk",$code); #这行输出也是\x{5C0A}
复制代码
作者:
minirain
时间:
2015-12-29 17:25
my $code="\x5C\x0A我是小张" ;
encode("gbk",decode('utf8',$code)); #如果程序代码保存格式为utf8
print $code ;#如果程序代码存储为gbk,直接打印
复制代码
作者:
zhlong8
时间:
2015-12-29 20:28
写在源码里的那是语法啊,编译器帮你转换的,字符串那个是值,如果像你这样构造个字符串它给我转成别的东西了这语言还能用?
你需要的是 chr 数字转字符串(长度为1的字符串),hex / oct 把16 / 8 进制表示的字符串转成对应的数字,所以是 $code = chr hex $1;
作者:
小公猫
时间:
2015-12-29 21:49
回复
3#
zhlong8
不错!学习了!
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2