Python3中默认编码是UTF-8,字符串以Unicode存储,源码文件、字符串处理及文件读写均默认使用UTF-8。1. 源码文件支持中文需保存为UTF-8格式;2. 字符串通过encode()转字节,decode()还原;3. open()函数建议显式指定encoding=’utf-8’;4. 系统默认编码可通过locale.getpreferredencoding()查看,但Python3多数场景已内置UTF-8。

Python3中默认是UTF-8。从Python 3.0开始,字符串类型(str)默认使用Unicode存储,源码文件和字符串处理都以UTF-8为默认编码。
1. 源码文件的默认编码
如果你在Python脚本中写中文或其他非ASCII字符,Python3会自动以UTF-8解析源文件:
print(“你好,世界”)
只要保存文件为UTF-8格式(大多数编辑器默认如此),就不会报错。
2. 字符串与编码操作
Python3中的字符串是Unicode,若要转换成(如网络传输或写入文件),需要使用encode()方法;从字节还原为字符串则用decode()方法:
立即学习“”;
- text = “中国”
- data = text.encode(‘utf-8’) # 转为UTF-8字节
- print(data) # 输出: b’xe4xb8xadxe5x9bxbd’
- decoded_text = data.decode(‘utf-8’) # 还原为字符串
- print(decoded_text) # 输出: 中国
3. 文件读写的默认编码
使用open()函数读写文本文件时,如果不指定encoding参数,系统会根据平台选择默认编码。但在多数现代系统(尤其是Linux/OS)上,Python3会倾向于使用UTF-8:
在整本书中我们所涉及许多的Flex框架源码,但为了简洁,我们不总是显示所指的代码。当你阅读这本书时,要求你打开Flex Builder,或能够访问Flex3框架的源码,跟随着我们所讨论源码是怎么工作及为什么这样做。 如果你跟着阅读源码,请注意,我们经常跳过功能或者具体的代码,以便我们可以对应当前的主题。这样能防止我们远离当前的主题,主要是讲解代码的微妙之处。这并不是说那些代码的作用不重要,而是那些代码处理特别的案例,防止潜在的错误或在生命周期的后面来处理,只是我们当前没有讨论它。有需要的朋友可以下载看看
0 f = open(‘example.txt’, ‘w’, encoding=’utf-8′)f.write(“今天天气很好”)f.close()
显式指定encoding='utf-8'是最稳妥的做法,避免因环境不同出错。
4. 查看系统默认编码
可以用以下代码查看当前Python环境的默认文本编码:
import localeprint(locale.getpreferencoding())
不过注意,这不一定是文件操作的实际默认值,因为Python3对很多场景已内部统一为UTF-8。
基本上就这些。日常开发建议始终明确使用UTF-8,既能支持文字,又兼容性好。不复杂但容易忽略细节。
以上就是Python3中默认是什么?怎么用?的详细内容,更多请关注php中文网其它相关文章!
微信扫一扫打赏
支付宝扫一扫打赏
