24小时热门版块排行榜    

查看: 876  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 279分求调剂 一志愿211 +17 chaojifeixia 2026-03-19 19/950 2026-03-23 23:26 by 呆呆师姐
[考研] 材料专业求调剂 +11 hanamiko 2026-03-18 11/550 2026-03-23 23:12 by peike
[考研] 384求调剂 +3 子系博 2026-03-22 6/300 2026-03-23 21:45 by 子系博
[考研] 一志愿陕师大生物学071000,298分,求调剂 +3 SYA! 2026-03-23 3/150 2026-03-23 19:09 by macy2011
[考研] 0854电子信息求调剂 324 +3 Promise-jyl 2026-03-23 3/150 2026-03-23 13:43 by wangkm
[考研] 070300,一志愿北航320求调剂 +3 Jerry0216 2026-03-22 5/250 2026-03-23 09:16 by 。。堂堂
[考研] 一志愿中南化学(0703)总分337求调剂 +9 niko- 2026-03-19 10/500 2026-03-22 16:08 by ColorlessPI
[考研] 319求调剂 +4 小力气珂珂 2026-03-20 4/200 2026-03-22 15:53 by ColorlessPI
[考研] 275求调剂 +6 shansx 2026-03-22 8/400 2026-03-22 15:27 by barlinike
[考研] 求调剂 +7 Auroracx 2026-03-22 7/350 2026-03-22 12:38 by 素颜倾城1988
[考博] 招收博士1-2人 +3 QGZDSYS 2026-03-18 4/200 2026-03-22 10:25 by QGZDSYS
[考研] 资源与环境 调剂申请(333分) +5 holy J 2026-03-21 5/250 2026-03-21 22:42 by Catalysis25
[考研] 初试 317 +7 半拉月丙 2026-03-20 7/350 2026-03-21 22:26 by peike
[考研] 初始318分求调剂(有工作经验) +3 1911236844 2026-03-17 3/150 2026-03-21 02:33 by JourneyLucky
[考研] 332求调剂 +4 ydfyh 2026-03-17 4/200 2026-03-21 02:20 by JourneyLucky
[考研] 22408 344分 求调剂 一志愿 华电计算机技术 +4 solanXXX 2026-03-20 4/200 2026-03-20 23:49 by alg094825
[考研] 294求调剂材料与化工专硕 +15 陌の森林 2026-03-18 15/750 2026-03-20 23:28 by JourneyLucky
[考研] 329求调剂 +9 想上学吖吖 2026-03-19 9/450 2026-03-20 22:01 by luoyongfeng
[考研] 招收调剂硕士 +4 lidianxing 2026-03-19 12/600 2026-03-20 12:25 by lidianxing
[考研] 材料学硕318求调剂 +5 February_Feb 2026-03-19 5/250 2026-03-19 23:51 by 23Postgrad
信息提示
请填处理意见