免费注册 查看新帖 |

Chinaunix

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

请问pack/unpack和encode/decode有什么关系和区别? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-04 17:03 |只看该作者 |倒序浏览
最近遇到一些文件乱码的问题,四处找资料。发现了这两个方法。看了一下,发现很多时候可以配合使用,请问大侠他们有什么联系呢?侧重点在哪?
多谢。

论坛徽章:
0
2 [报告]
发表于 2008-09-04 17:11 |只看该作者
perldoc

论坛徽章:
0
3 [报告]
发表于 2008-09-04 18:10 |只看该作者
期待高手解释,pack是我的硬伤,呵呵

论坛徽章:
0
4 [报告]
发表于 2008-09-04 18:31 |只看该作者

论坛徽章:
0
5 [报告]
发表于 2008-09-04 20:04 |只看该作者
两者没什么关系,在不同场合使用

论坛徽章:
0
6 [报告]
发表于 2008-09-04 20:15 |只看该作者
pack/unpack 是perl提供的函数
encode/decode是 perl模块Encode提供的函数, 这个模块内部其实也用了pack/unpack

2者的应用本来就不一样吧。。不知道为什么会这么问

pack用来把一串值按照某个规则打包成一个字符串

encode是把perl UTF8字符串转成其他编码的字符串,比如转成gb2312。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
7 [报告]
发表于 2008-09-04 20:53 |只看该作者
encode/decode 用来做编码转换。
pack/unpack 用来拆分/组装字符串。

论坛徽章:
0
8 [报告]
发表于 2008-09-05 13:55 |只看该作者
将一些数据写成yaml文件,经常有一些乱码,在IE里显示是' "等等,写成yaml就变成?或者'了。很郁闷

论坛徽章:
0
9 [报告]
发表于 2008-09-05 15:33 |只看该作者
我也碰到类似问题, 请问大家这行代码能把extended ascii 转成 utf-8么? 我试了, 好像有些字符, 例如 "μ" 就被去掉了
$Text_tmp =~ s/[^\x01-\x7F]/pack("U0", ord($&))/sgie;
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP