当前位置:首页 » 编程语言 » python保存utf8

python保存utf8

发布时间: 2023-07-22 12:40:58

python 怎样创建utf-8的文件

py2.7,需要调用codecs模块来进行设置

#coding:utf-8
importsys
reload(sys)
sys.setdefaultencoding('utf-8')

importtraceback
importos
#含有中文时,最好用codecs打开
importcodecs

filepath=os.getcwd()+'/testfile.txt'

try:
withcodecs.open(filepath,'w+','utf-8')asf:
seq=[
'heheheheheheheheheheheh',
'hohohohohohohohohohohoho',
'hahahahahahahahahaha',
'这里又是哪里 ']
f.write("******************** ")
f.writelines(seq)

withcodecs.open(filepath,'r','utf-8')asf:
foriinf.readlines():
printi

exceptException,e:
traceback.print_exc()
print"执行文件时报错:"+str(e)

py3.6的open函数已经扩展了,可以直接设置encoding

#coding:utf-8

importtraceback
importos

filepath=os.getcwd()+'/testfile.txt'

try:
withopen(filepath,'w+',encoding='utf-8')asf:
seq=[
'heheheheheheheheheheheh',
'hohohohohohohohohohohoho',
'hahahahahahahahahaha',
'这里又是哪里 ']
f.write("******************** ")
f.writelines(seq)

withopen(filepath,'r',encoding='utf-8')asf:
foriinf.readlines():
print(i)

exceptException:
traceback.print_exc()
print("执行文件时报错")

⑵ sublime 怎么修改python 存储为utf-8

1. 汉化 sublime
[
搜索liblime汉化,下载解压得到default文件夹
将default文件夹放入 sublime/Data/Packages 中,汉化完成
]
2. 安装 Package Control 插件
[
方法1. 查看——显示控制台——粘贴代码(网上搜到代码)
方法2. sublime/Data/Packages文件夹中放入另一个文件夹(网络上可以搜索到文件夹)
]
3. 安装ConvertToUTF8,使得python代码中的中文能够正确显示
[
保证网络畅通
按下“ ctrl + shift + P ”(或者菜单栏:工具——命令面板)调出命令面板
命令面板中输入“install”,按下“Enter”
在新出现的窗口中输入ConvertToUTF8 ,按下“Enter”即可完成安装
]
4. 安装SublimeREPL
[
保证网络畅通
按下“ ctrl + shift + P ”(或者菜单栏:工具——命令面板)调出命令面板
命令面板中输入“install”,按下“Enter”
在新出现的窗口中输入SublimeREPL ,按下“Enter”即可完成安装
]
5. 配置SublimeREPL(这一步骤可省略,看文末介绍)
[

打开文件sublime/Data/packages/SublimeREPL/config/python/Main.sublime-menu文件
查找到
{"command": "repl_open",
"caption": "Python",
"id": "repl_python",
"mnemonic": "p",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["python", "-i", "-u"],
"cwd": "$file_path",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python",
"extend_env": {"PYTHONIOENCODING": "utf-8"}
}
},
把它复制并列粘贴在原位置下面,稍稍修改刚刚粘贴的部分
{"command": "repl_open",
"caption": "Python",
"id": "repl_python",
"mnemonic": "p",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["python", "-i", "-u"],
"cwd": "$file_path",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python",
"extend_env": {"PYTHONIOENCODING": "utf-8"}
}
},

{"command": "repl_open",
"caption": "Python - my", (我取名python-my,这里你自己取一个名字,显示在菜单栏中)
"id": "repl_myf5", (我取id为 repl_myf5, 你自己取一个独一无二的)
"mnemonic": "p",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["python", "-i", "-u","$file_basename"], (这里修改添加了一点字段)
"cwd": "$file_path",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python",
"extend_env": {"PYTHONIOENCODING": "utf-8"}
}
},
保存,至此在菜单栏 工具——SublimeREPL——python中就出现了python-my选项
]
6. 添加源文档中的字段
[
打开一个python源文档,在文档头添加字段 # -*- coding: utf-8 -*- (没有这个字段编译会出错,python编码和sublime不同)
选择工具——SublimeREPL——python——python-my(我取的名字), 即可编译
]
7. 设置快捷键
[
用工具菜单调用编译太慢,可以设置快捷键
选择菜单preferences——键绑定-用户,在打开的文件中输入

[ { "keys": ["f5"], (f5是我设置的快捷键,可以改,当然还是推荐f5)
"caption": "SublimeREPL: Python",
"command": "run_existing_window_command","args":
{
"id": "repl_myf5", (repl_myf5是我取的id,你填入你的id)
"file":"config/python/Main.sublime-menu"
}
}
]

上面内容包括方括号,保存后,即可使用设定的快捷键
]
8. 要注意的是,调试程序,使用快捷键编译时候,首先 ctrl + s 保存当前文件,编译的才是最新修改的源文件
(要是谁会在快捷键里面添加 先保存 再编译 功能请告诉我一下,我不太会配置快捷键,thankyou,发送邮件[email protected]

建议 查看——布局——列2 ,2列布局看起来更方便,多编译几次右边会出现很多编译窗口,关闭编译窗口 使用ctrl + w 可以快速关闭
9
文末的话,后来发现,不改变SublimeREPL的配置文件,直接新建快捷方式id改成repl_python_run 即可

第一种方法使用起来和python默认IDLE一样,第二种方法像cmd窗口

⑶ python 中文名的文件的保存

windows文件名的编码是cp936的,你在使用中文文件名的时候转下码就行了。
比如你python文件编码是utf8
#
-*-
coding:
utf-8
-*-
he='开心.mp3'
f=open(he.decode('utf-8').encode('cp936'),'w')
f.close()
就可以了~~~

⑷ Python 字符集编码 - UTF-8 编码

Unicode 的编码范围为 0~0x10FFFF ,如此大的范围,显然没办法像 ASCII 编码一样使用一个字节存储。为此,Unicode 制定了各种储存编码的方式,如: UTF-8 、 UTF-16 和 UTF-32 ,这些存储格式被称为 Unicode 转换格式 UTF 。

每种 Unicode 转换格式都会把一个编码存储为一到多个编码单元,如 UTF-8 的编码单元为 8 位的字节; UTF-16 的编码单元为 16 位,即 2 个字节; UTF-32 的编码单元为 32 位,即 4 个字节。

其中, UTF-8 是在互联网上使用最广泛的一种 Unicode 转换格式,具有以下显着的优势。下面,我们就先来看看 UTF-8 具有哪些有点吧~

1. UTF-8 中每个 ASCII 字符只需要一个字节去存储,因此一个 ASCII 文本本身也是一个 UTF-8 文本,即做到了向后兼容。

比如 A 的 ASCII 码对应为 0x41 , a 的 ASCII 码对应为 0x61 ,那么 UTF-8 兼容 ASCII 也就意味着:

这里,需要再次提醒一下:Unicode 是表现形式,UTF-8 是存储形式;即 UTF-8 解码之后为 Unicode ,Unicode 可以编码成 UTF-8 。

2. UTF-8 采用字节为存储单元,因此不存在字节的大端和小段的问题。

UTF-16 和 UTF-32 的存储单元分别是 2 字节和 4 字节,因此在存储时会涉及到大小端的问题。那什么是大小端模式呢?下面我们来暂停补充一下~

关于如何获知你的环境使用的是大端模式还是小端模式,这里有个简单的方式:定义一个 short 类型的数组即可:

数字 1 在 short 类型中表示为 0x0001 ,高位为 0x00 ,低位为 0x01 。我们可以很直观地看到,数组在保存数据时,将高位 0x00 放在了高地址处,将低位 0x01 放在了低地址处。因此使用的就是小端模式。

那 UTF-8 为什么可以使用字节来作为存储单元,而不用担心字节序的问题呢?这就涉及到了 UTF-8 巧妙的编码规则~

UTF-8 最大的一个特点,就是它是一种变长的编码方式。它可以使用 1~4 个字节表示一个符号,根据不同的符号而变化字节长度。UTF-8的编码规则很简单,只有二条:

1)对于单字节符号,字节的第一位设为 0 ,后 7 位为这个符号的 Unicode 码。也就是我们上文提到的向后兼容:对于英文字母,UTF-8 编码和 ASCII 码是相同的。

2)对于使用 X 个字节存储的符号,第一个字节的前 X 位设置为 1 ,第 X+1 位设置为 0 ,后面字节的前 2 位一律设置为 10 ,剩下的位置一次填充这个符号的 Unicode 码。

下表总结了编码规则,字母 x 表示可用于编码的位:

跟据上表,解读 UTF-8 编码也非常简单:如果一个字节的第一位是 0 ,则这个字节单独就是一个字符;如果第一位是 1 ,则连续有多少个 1 ,就表示当前字符占用多少个字节。

下面,我们就来演示一下 UTF-8 编码的过程。

首先,获取汉字 鱼 的 Unicode 码:

我们不妨先对 鱼 这个汉字使用 utf-8 编码看看使用几个字节存储:

鱼 在 UTF-8 编码中使用 3 个字节存储,因此其存储的二进制的形式为 1110xxxx 10xxxxxx 10xxxxxx ,将 Unicode 1001 110001 111100 依次填充到占位符 x 的位置就得到: 11101001 10110001 10111100 。

下面,我们将上述推导得出的 11101001 10110001 10111100 转换为十六进制,验证一下是否为 b'xe9xb1xbc' :

验证无误!

⑸ python中文显示乱码,已经在开头有了coding: utf-8

乱码原因:
因为你的文件声明为 utf-8,并且也应该是用 utf-8 的编码保存的源文件。但是 windows 的本地默认编码是 cp936,也就是 gbk 编码,所以在控制台直接打印 utf-8 的字符串当然是乱码了。

解决方法:

py文件用记事本打开,另存为utf-8格式即可

⑹ 如何设置python的编码格式为utf-8

python的编码格式?
#coding=utf-8
这是文档编码
import sys
sys.setdefaultencoding("utf-8")
这是设置默认编码方式为utf-8
xx.encode("utf-8")
这是字符串编码操作
import codecs
codecs.open(xx,'r','utf-8"),这是文件编码读取方式

热点内容
java中set集合 发布:2025-02-07 22:43:34 浏览:30
播放这个wifi密码是多少 发布:2025-02-07 22:34:54 浏览:99
视频存储时间长了有雪花 发布:2025-02-07 22:24:34 浏览:568
哈佛f7x怎么区分配置 发布:2025-02-07 22:22:34 浏览:771
广州python培训 发布:2025-02-07 22:22:26 浏览:199
陆金所的交易密码是什么 发布:2025-02-07 22:19:25 浏览:320
如何删除平板储存密码 发布:2025-02-07 22:10:29 浏览:747
php微信授权登录 发布:2025-02-07 22:10:27 浏览:378
怎样编程时钟 发布:2025-02-07 21:59:38 浏览:562
夸克编程 发布:2025-02-07 21:43:43 浏览:530