免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2881 | 回复: 3
打印 上一主题 下一主题

Unicode 字符串转汉字的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-05-16 17:53 |只看该作者 |倒序浏览
本帖最后由 david_95 于 2016-05-17 09:52 编辑

我有一文本文件utf-8 格式的,内容是多行,如下, 中文是unicode 码

brand_standard_name:"\u5c0f\u767d\u718a",brand_scope:"DEFAULT"

我想把所有\uxxxx 的转成中文,用以下的

    while(<UCFILE>){
        $_=URI::Escape::uri_unescape($_);
        print $1."\n" if $_=~m/\u[0-9a-fA-F]{4}/g;
        $_=~s/(\u[0-9a-fA-F]{4})/pack("U",hex($1))/eg;
        $_=~s/\u//g;
        print $_."\n";
     }

转完了,所有中文都带 \u, 害的我还得再把\u 除去。最糟的是 后面的"DEFAULT" 变成了乱码,变成了"�ULT"

而我实验用  print pack("U",hex("\u4f73"));  却没有\u

请教为什么? 我怎么才能处理好 unicode 中文串, 而又不改变其他字符串

论坛徽章:
6
15-16赛季CBA联赛之新疆
日期:2016-03-22 22:34:5915-16赛季CBA联赛之山东
日期:2016-04-11 09:08:41程序设计版块每日发帖之星
日期:2016-06-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-19 06:20:00每日论坛发贴之星
日期:2016-07-19 06:20:0015-16赛季CBA联赛之青岛
日期:2016-07-20 22:44:17
2 [报告]
发表于 2016-05-16 22:55 |只看该作者
回复 1# david_95


    http  ://perldoc.perl.org/Encode.html
hope it helps.

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
3 [报告]
发表于 2016-05-16 23:46 |只看该作者
回复 1# david_95

$ echo 'brand_standard_name:"\u5c0f\u767d\u718a",brand_scope:"DEFAULT"' | perl -MURI::Escape -ne '{$_=URI::Escape::uri_unescape($_);s/\\u([0-9a-fA-F]{1,4})/pack("U",hex($1))/eg;print}'
Wide character in print at -e line 1, <> line 1.
brand_standard_name:"小白熊",brand_scope:"DEFAULT"

   

论坛徽章:
0
4 [报告]
发表于 2016-05-17 09:43 |只看该作者
多谢 jason680 , 谢谢 RE_HASH 。 好tricky , 和我的写法就差两个字符,结果大不一样
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP