在perl中编码检测的正确方法
发布时间:2020-12-15 23:20:13 所属栏目:大数据 来源:网络整理
导读:我有这两个字符串: %EC%E0%EC%E0+%EC%FB%EB%E0+%F0%E0%EC%F3%D0%BC%D0%B0%D0%BC%D0%B0%20%D0%BC%D1%8B%D0%BB%D0%B0%20%D1%80%D0%B0%D0%BC%D1%83 这是俄语中的网址编码短语,分别为cp-1251和utf-8.我想用perl在我的utf-8终端上用俄语看到它们. 不幸的是,perl
我有这两个字符串:
%EC%E0%EC%E0+%EC%FB%EB%E0+%F0%E0%EC%F3 %D0%BC%D0%B0%D0%BC%D0%B0%20%D0%BC%D1%8B%D0%BB%D0%B0%20%D1%80%D0%B0%D0%BC%D1%83 这是俄语中的网址编码短语,分别为cp-1251和utf-8.我想用perl在我的utf-8终端上用俄语看到它们. 问题是,在这种情况下检测正确编码的正确方法是什么(使用其他模块指定区域设置参数……)? 解决方法
UTF-8和cp1251只有两种选择吗?让cp1251文本也是有效的UTF-8的几率非常小. (这将是胡言乱语.)所以你可以这样做
use Encode qw( decode ); my $decoded = eval { decode('UTF-8',$encoded,Encode::FB_CROAK) } // decode('cp1251',$encoded); 这将比编码猜测器准确得多. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |