24小时热门版块排行榜    

Znn3bq.jpeg
查看: 886  |  回复: 4

journeyer

铁虫 (正式写手)

[求助] 一个汉字竟坏了整个程序? 已有1人参与

最近,用python作字处理程序,发现一个特殊的汉字“䢵”(应该还有其它),当无“䢵”字时程序可以正常运行,但只要有“䢵”,程序就会中断,请论坛里高手指点。
CODE:
# -*- coding: UTF-8 -*-

import codecs, sys

print '-'*60
# 创建gbk编码器
look  = codecs.lookup("gbk")
# 创建utf-8编码器
look2 = codecs.lookup("utf-8")

a = '我爱北京天安门䢵' #去掉“䢵” windows 下运行就正常

print len(a), a
# 把a编码为内部的unicode
b = look2.decode(a)
# 返回的b[0]是数据,b[1]是长度,这个时候的类型是unicode了
print b[1], b[0], type(b[0])
# 把内部编码的unicode转换为gbk编码的字符串,encode方法会返回一个字符串类型
b2 = look.encode(b[0])
# 发现不一样的地方了吧?
print b2[1], b2[0], type(b2[0])
# codecs.encode会统计字数
print len(b2[0])

# 需要说明的是,上述程序在 Windows 下运行时会因“䢵”字存在而出问题,而在 Mac 下运行正常。

[ Last edited by jjdg on 2013-12-25 at 00:16 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sunoru

新虫 (初入文坛)

【答案】应助回帖

额,刚刚在我的电脑上试了一下,因为windows的命令行默认编码是gbk的,所以就算你已经得到了一个正确的unicode字符串,在输出到命令行的时候它还是会被转成gbk,但在gbk中并没有“䢵”这个字,导致会看到出错。。

一个解决方法是用不是gbk编码的控制台来运行这个程序,比如我用的是qt版的IPython。

(不知道还帮不帮得上楼主的忙
2楼2014-01-22 16:09:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

garyfirst

木虫 (小有名气)

用python处理汉字还真是不容易呢
CL
3楼2014-02-18 08:04:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

journeyer

铁虫 (正式写手)

???????:
2?: Originally posted by sunoru at 2014-01-22 16:09:22
??????????????????????????windows????????????????gbk????????????????????????????unicode???????????????????е??????????????gbk??????gbk?в???С?䢵??????????????????? ...

?????????????Mac????????????????Win??????а???????? gbk ???????????䢵??????
4楼2014-02-18 15:15:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

journeyer

铁虫 (正式写手)

引用回帖:
3楼: Originally posted by garyfirst at 2014-02-18 08:04:20
用python处理汉字还真是不容易呢

其实,我在Mac下运行python程序没有问题,python处理字符串还是很方便的。
5楼2014-02-18 15:17:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 journeyer 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 300求调剂 +7 橙a777 2026-04-15 7/350 2026-04-15 22:28 by Equinoxhua
[考研] 291分调剂 +11 上岸小莹加油 2026-04-09 12/600 2026-04-15 21:55 by noqvsozv
[考研] 药学求调剂 +11 喽哈加油 2026-04-14 13/650 2026-04-14 21:14 by qingfeng258
[考研] 本科211,报考085601-310分 +16 ararak 2026-04-13 16/800 2026-04-14 14:55 by Delta2012
[考研] 求调剂 +12 何气正 2026-04-13 13/650 2026-04-14 14:47 by zs92450
[考研] 考研求调剂 +6 ban班小七 2026-04-11 6/300 2026-04-14 14:06 by 哆啦A梦只是个梦
[考研] 食品与营养(0955)271求调剂 +15 升格阿达 2026-04-12 16/800 2026-04-14 13:18 by 浮若_安生
[考研] 085600材料与化工349分求调剂 +16 李木子啊哈哈 2026-04-12 17/850 2026-04-14 09:11 by fenglj492
[考研] 290求调剂 +18 柯淮然 2026-04-12 20/1000 2026-04-13 12:56 by cyh—315
[考研] 280求调剂 +13 wzzz王 2026-04-09 13/650 2026-04-12 00:31 by 勇攀高峰0126
[考研] 267求调剂 +8 再忙也要吃饭啊 2026-04-09 8/400 2026-04-11 21:42 by cfdbai
[考研] 调剂 +10 只叙离别辞 2026-04-09 12/600 2026-04-11 20:57 by 逆水乘风
[考研] 调剂求助 +6 果然有我 2026-04-11 7/350 2026-04-11 16:22 by 明月此时有
[考研] 22408调剂求助 +7 毂12 2026-04-09 9/450 2026-04-11 09:23 by 哦哦123
[考研] 309求调剂 +14 wdhw 2026-04-10 15/750 2026-04-10 21:06 by zhouxiaoyu
[考研] 368求调剂 +3 17385968172 2026-04-10 3/150 2026-04-10 20:12 by 电子奥德彪
[考研] 求调剂 材料与工程 324分 专硕 +19 翩翩一书生 2026-04-10 21/1050 2026-04-10 11:41 by wp06
[考研] 314求调剂 +14 weltZeng 2026-04-09 14/700 2026-04-09 23:14 by wolf97
[考研] 初试分332,一志愿报考西北工业大学, +11 故人?? 2026-04-09 11/550 2026-04-09 21:54 by JineShine
[考研] 332,085601求调剂 +12 ydfyh 2026-04-09 14/700 2026-04-09 17:28 by wp06
信息提示
请填处理意见