导航:首页 > 编程语言 > pythongb18030

pythongb18030

发布时间:2022-05-13 10:58:14

python怎么知道一个字符串的编码方式

字符串的编码,有很多种如utf-8,gb2312,gbk,gb18030,bz2,zlib,big5,bzse64

python 对编码的处理有两个方法,decode()和 encode()方法

a='你好'
b='python'
printa.decode('utf-8').encode('gbk')##decode方法把字符串转换为unicode对象,然后通过encode方法转换为指定的编码字符串对象
printb.decode('utf-8')##decode方法把字符串转换为unicode对象

所以要让python(或者说机器)来识别字符串的编码,是一件很困难的事。编码就是汉字和整数之间的对应,同一个整数,可以在不同的编码中,都有对应的汉字。比如下面的例子,比特流'xe6xb0xb4xe5xa3xb6'在四种编码中都有对应的汉字,但只有在utf-8编码下,它对应的汉字才有意义。我们可以一眼看出这点,可是要让计算机做到这点,就很难了。

>>>s='水壶'
>>>s
18:'xe6xb0xb4xe5xa3xb6'
>>>printunicode(s,'big5')
瘗游ㄥ
>>>printunicode(s,'gbk')
姘村6
>>>printunicode(s,'gb2312')
姘村6
>>>printunicode(s,'utf-8')
水壶

② python导入csv文件 显示编码错误,gb18030就可以导入, gb2312导不入,为什么呢

说明这个csv文件应该是使用gb18030编码的。两种区别详见:网页链接

编码方式不通,解码方式也不同。

通常我们在Windows下,不同的Excel可能使用不同的本地语言编码。而在非Windows系统下,通常使用UTF-8编码,这样会通用些。

可以使用notepad++来处理下源文件,可以看到编码方式。另存为UTF-8就行了。这种方式比较通用。

③ Python print无法输出中文字符

这里提示语法错误。因为你没有指定文件的编码,默认情况下不能用中文。

如果代码中有中文、中文的注释,需要在文件最上面加上这一句:


#encoding:utf-8

print'哈哈哈哈哈'


这样就OK了,望采纳!

④ python异常乱码如何解决

如果页面是GB18030编码,而数据库是GBK编码,一般来说是不用转换的。GB18030是GBK的超级。GB18030本身兼容GBK,而GB18030中的部分字符GBK中是没有的。将GB18030字符写入GBK的数据库,只会丢失部分字符而已。一般网页上不会出现罕见的字符,所以这种情况是无需处理的。


所以,请仔细核对页面和数据库的编码。


即使你提供的页面、数据库编码是正确的,而且一定要转换,也应该这样做:

s='GB18030字符串'
s=s.decode('GB18030')#转化为unicode
s=s.encode('GBK')#转化为GBK

⑤ python文件编码问题

还真有些弄不明白。不过我就明白的给你说。

  1. 不要用记事本,另存改变编码,除非你目标编码是ANSI

  2. 只要是文字都是字符编码,不可能是内存中的编码格式。WINDOWS使用MBCK(类似这个名子)的内部编码。就是多字节编码的方式存在内存里。但是存在文件里一定是字符串,一定是正式的国际编码。

  3. ANSI是操作系统内的标准编码。对于通常来说就是GB18030

  4. unicode有很多编码方式。包括utf-8,utf-16, big-5, gbk, gb18030等。所以这里微软说的unicode估计是给微软程序做序列化用的格式

  5. unicode big endian同上。这个编码应该是一个长字节编码用的。


顺便说一下,微软记事本的UTF-8编码文件有问题,前面有1-2个字节的识别用字符。如果你用python或者是其它操作系统读取文件,可能会出问题。

⑥ Python 如何把一个GB18030文件转换成Utf8格式

content = open("gb18030.txt").read().decode("gb18030")

open("utf8.txt","w").write(content.encode("utf8"))

⑦ Python中怎么定义中文编码

在程序的第一行指定中文编码方式,并且输入字符为unicode,然后编码成gb18030方式,完整程序如下:
-------------------------------------
# -*- coding: gb18030 -*-
#!/usr/bin/python

cont = raw_input( u"请输入:".encode("gb18030") )

print cont
-------------------------------------
输入的内容也可以是中文

⑧ 如何判断中文乱码 python

如果页面是GB18030编码,而数据库是GBK编码,一般来说是不用转换的。GB18030是GBK的超级。GB18030本身兼容GBK,而GB18030中的部分字符GBK中是没有的。将GB18030字符写入GBK的数据库,只会丢失部分字符而已。一般网页上不会出现罕见的字符,所以这种情况是无需处理的。

所以,请仔细核对页面和数据库的编码。

即使你提供的页面、数据库编码是正确的,而且一定要转换,也应该这样做:

s = 'GB18030字符串'
s = s.decode('GB18030') # 转化为unicode
s = s.encode('GBK') # 转化为GBK

⑨ 如何解决python UnicodeDecodeError问题

python的中文编码比较容易采坑,主要有一下几个注意点:

明确读取的是什么编码格式的输入 gb18030,还是utf-8,,如果不是从文件中来,而是代码内的中文字符,最好直接 u'中文',将编码变为 unicode
操作的时候,注意各种字符串的编码方式匹配,可以都转为unicode以统一处理,string.decode('gb18030') 可以把 gb18030编码转换为 unicode编码
输出时,明确最终的输出格式是什么,从而采用正确的 encode 方式进行编码
至于json,在load的时候,注意设定编码方式, json.loads(str, encoding='gb18030') 或者 utf-8

如果按照这个原则解决不了,可以考虑贴代码

⑩ python终端输出乱码怎么解决

命令行终端上工作时,经常会碰到一个头疼的问题就是中文乱码。下面我们就来看一下解决python在终端输出乱码的解决方法。

牵涉编码的地方一共有五处:

严格来讲,五码一致的时候,如果文件没有损坏,应该是能够正常显示了。

Python编码声明:

如果python代码文件中包含中文,就一定要在代码文件的前两行(注意:一定要是前两行)做出编码声明,否则python代码默认采用ASCII保存,这样遇到中文字符就会报错。在代码头部声明编码的方式有三种:

Vim中有关编码的选项:

在 Vim 中,有四个与编码有关的选项,它们是:fileencodings、fileencoding、encoding 和 termencoding。

Linux系统的编码设置:

Linux的系统编码设置可以通过设置locale来完成,直接在命令行敲locale,然后回车,即可查看当前系统的编码设置,与保存文件相关的设置是LC_CTYPE。

如LC_CTYPE=zh_CN.gb18030,即把系统的编码设置成为了gb18030。

更多Python知识请关注Python自学网

阅读全文

与pythongb18030相关的资料

热点内容
手机号码如何加密 浏览:424
沈阳程序员培训学校 浏览:538
一般服务器如何配置 浏览:895
图片怎样加密发邮件 浏览:619
万虹电脑文件夹密码忘记了怎么办 浏览:631
rc108单片机 浏览:867
战雷如何改变服务器 浏览:674
mactelnet命令 浏览:51
压缩袋压缩了拿出来 浏览:401
安卓手机相机怎么设置权限 浏览:121
美女程序员转行做主播 浏览:671
办理解压房产 浏览:575
道路工程概论pdf 浏览:388
超棒数学速算法大全 浏览:937
小米易语言登录源码 浏览:31
砖墙内加密钢筋 浏览:992
乡关何处pdf 浏览:84
小猪领赞小程序源码 浏览:336
python曲线如何原路返回 浏览:431
pdf快速看图破解版 浏览:295