免费注册 查看新帖 |

Chinaunix

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

[分享]Perl判断脚本本身编码类型(for xp) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-01-10 22:20 |只看该作者 |倒序浏览
本帖最后由 paktc 于 2014-01-11 08:37 编辑

在XP下面记事本能够保存的编码类型就以下几种:
UTF-8,UTF-16 ,UTF-16 Big Endian ,ANSI(ASCII以内的字符时是ASCII,含汉字的时候实际是GBK编码)
写了个函数通过中文字符作自我判断 (也许没什么用处
  1. print recogn();
  2. <STDIN>;

  3. sub recogn {
  4.     my $cn="中";
  5.     my $code;
  6.     my @arr=split("",$cn);
  7.     if ($#arr == 0) {            # 'Unicode' 4e2d
  8.         my $head;
  9.         open READ,"<:raw","$0";
  10.         read(READ,$head,2);
  11.         close READ;
  12.         if ($head eq "\xfe\xff") {
  13.             $code='UTF-16BE';
  14.         } else {
  15.             $code='UTF-16LE';
  16.         }
  17.     } elsif ($#arr == 1) {       # 'GBK'   d6 d0
  18.         $code='ANSI';
  19.     } elsif ($#arr == 2) {       # 'UTF-8' e4 b8 ad
  20.         $code='UTF-8';
  21.     } else {
  22.         $code='WHAT THE **** ?';
  23.     }
  24. }

复制代码

论坛徽章:
7
戌狗
日期:2013-12-15 20:43:38技术图书徽章
日期:2014-03-05 01:33:12技术图书徽章
日期:2014-03-15 20:31:17未羊
日期:2014-03-25 23:48:20丑牛
日期:2014-04-07 22:37:44巳蛇
日期:2014-04-11 21:58:0915-16赛季CBA联赛之青岛
日期:2016-03-17 20:36:13
2 [报告]
发表于 2014-01-10 23:58 |只看该作者
收藏,有时间学习学习。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP