python中文乱码例子

#coding=utf-8
#---中文乱码---

#直接打印中文
print '千里之外取人首级,瞬息之间爆人菊花。'
#中文前面加u,变成Unicode编码
print u'千里之外取人首级'
#转码
print '瞬息之间爆人菊花'.decode('utf-8').encode('gb2312')

 结果:

转载于:https://www.cnblogs.com/rmb-mylove123/p/3632715.html

### Python 中文乱码解决方案 在处理 Python 编程中的中文字符时,可能会遇到多种情况下的乱码问题。以下是几种常见场景及其对应的解决方法。 #### 设置文件编码声明 对于源代码文件本身,确保文件顶部有正确的编码声明可以有效防止读取和写入字符串时发生乱码。通常情况下,应该指定 `UTF-8` 编码: ```python # -*- coding: utf-8 -*- ``` 这条指令告诉解释器该文件采用 UTF-8 字符集[^4]。 #### 控制台输入输出乱码 当通过命令行或者 IDE 的控制台进行交互式编程时,如果涉及到了非 ASCII 字符(比如中文),则可能需要调整环境变量或设置标准流的编码方式来适应本地化需求。例如,在 Windows 平台上可以通过修改系统的区域选项或是直接更改 Python 脚本内的默认编码为 GBK 或者其他适合的操作系统所使用的编码格式[^1]。 #### 文件操作引起的乱码 读取外部文件尤其是文本文件的时候,应当指明打开文件时候所需的编码参数。如果不匹配,则可能导致无法正确解析其中的内容而产生乱码现象。下面是一个简单的例子展示了如何以特定编码读取文件并将其内容解码成 Unicode 对象再重新编码回目标编码保存下来: ```python with open('example.txt', 'r', encoding='gbk') as f_in, \ open('output.txt', 'w', encoding='utf-8') as f_out: content = f_in.read() f_out.write(content) ``` 这里假设原始文件是以GBK编码存储的数据,我们希望最终得到的结果是UTF-8编码形式[^3]。 #### Matplotlib 图形界面显示乱码 针对绘图库如Matplotlib绘制图形过程中产生的中文标签等问题,可通过配置字体属性的方式加以修正。具体做法是在脚本开头加入如下几行代码设定合适的中文字体以及关闭Unicode减号的支持以便能够正常渲染负数符号: ```python import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus']=False ``` 上述措施能有效地改善图表上的中文标注效果[^5]。 #### C++调用Python接口返回数据乱码 如果是由于跨语言通信引起的问题,即在一个项目里既有C++又有Python部分,并且后者向前者传递含有中文的信息串却出现了不可识别的情况的话,那么就需要考虑两者之间关于字符串表示法的一致性和兼容性了。一种可行的办法就是在构建嵌入式的解释器实例之前先初始化Py_SetProgramName()函数并将当前进程名作为参数传进去;另外还可以尝试利用setlocale(LC_ALL,"chs")这样的API去影响整个应用程序级别的地区偏好设置从而间接达到统一内部字符集的目的[^2]。 综上所述,不同类型的中文乱码问题有着各自的特点和应对策略,开发者可以根据实际应用场景灵活选用合适的技术手段来进行优化改进。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值