gbk编码

Python中编码encode()与解码decode()

六眼飞鱼酱① 提交于 2020-01-06 18:36:49
1 print('这是编码'.encode('utf-8')) # 结果 b'\xe8\xbf\x99\xe6\x98\xaf\xe7\xbc\x96\xe7\xa0\x81' 2 print('这是编码'.encode('gbk')) # 结果 b'\xd5\xe2\xca\xc7\xb1\xe0\xc2\xeb' 3 4 print(b'\xe8\xbf\x99\xe6\x98\xaf\xe7\xbc\x96\xe7\xa0\x81'.decode('utf-8')) # 结果'这是编码' 5 print(b'\xd5\xe2\xca\xc7\xb1\xe0\xc2\xeb'.decode('gbk')) # 结果'这是解码' 来源: https://www.cnblogs.com/Through-Target/p/12147972.html

python小记——python的编码问题详解

痞子三分冷 提交于 2020-01-02 13:05:59
python文件IO操作时,对编码知识一概不知,那可真的是蛋疼了哈。utf-8啊、gbk、还有encode()、decode()等函数以及encoding参数,搞不好就乱码甚至是报错,那可是头都大了。不说了不说了先上代码先上代码。( 下面代码是在Windows系统上进行演示的) import sys import locale str = '小甲' print ( str ) print ( type ( str ) ) print ( sys . getdefaultencoding ( ) ) print ( locale . getdefaultlocale ( ) ) with open ( 'utf' , 'w' , encoding = 'utf-8' ) as file : file . write ( str ) with open ( 'gbk' , 'w' , encoding = 'gbk' ) as file : file . write ( str ) 输出结果: 小甲 < class 'str' > utf - 8 ( 'zh_CN' , 'cp936' ) 解释: getdefaultencoding():返回的是系统编码格式,这里的系统指的不是操作系统,而是python编译器的默认编码,python3的编码是UTF-8。

Python中文问题SyntaxError

心不动则不痛 提交于 2020-01-01 08:43:06
python的中文问题一直是困扰新手的头疼问题,这篇文章将给你详细地讲解一下这方面的知识。当然,几乎可以确定的是,在将来的版本中,python会彻底解决此问题,不用我们这么麻烦了。 先来看看python的版本: >>> import sys >>> sys.version '2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)]' (一) 用记事本创建一个文件ChineseTest.py,默认ANSI: s = "中文" print s 测试一下瞧瞧: E:\Project\Python\Test>python ChineseTest.py File "ChineseTest.py", line 1 SyntaxError: Non-ASCII character '\xd6' in file ChineseTest.py on line 1, but no encoding declared ; see http://www.python.org/peps/pep-0263.html for details 偷偷地把文件编码改成UTF-8: E:\Project\Python\Test>python ChineseTest.py File "ChineseTest.py", line 1

Python语言编码问题详细解读。Unicode,assci,utf-8,gbk等编码

眉间皱痕 提交于 2020-01-01 08:42:12
一、系统默认的脚本文件编码 Python 默认脚本文件都是 ANSCII 编码的,当文件 中有非 ANSCII 编码范围内的字符的时候就要使用"编码指示"来修正。 一个module的定义中,如果.py文件中包含中文字符(严格的说是含有非anscii字符),则需要在第一行或第二行指定编码声明: # -*- coding=utf-8 -*-或者 #coding=utf-8 其他的编码如:gbk、gb2312也可以; 否则会出现类似:SyntaxError: Non-ASCII character '/xe4' in file ChineseTest.py on line 1, but no encoding declared; see http://www.pytho for details这样的异常信息;n.org/peps/pep-0263.html 命令查看脚本默认的编码方式 >>> import sys >>> sys.getdefaultencoding() 'ascii' >>> 2.2 python中的编码与解码   先说一下python中的字符串类型,在python中有两种字符串类型,分别是str和unicode,他们都是basestring的派生类;str类型是一个包含Characters represent (at least) 8-bit bytes的序列

Java使用IO流读取TXT文件

耗尽温柔 提交于 2019-12-31 09:39:08
通过BufferedReader读取TXT文件 window系统默认的编码是GBK,而IDE的编码多数为UTF-8,如果没有规定new InputStreamReader(new FileInputStream(file),“GBK”)为GBK会出现读取内容乱码。 //文件路径 String filePath="C:/Users/Admin/Desktop/products.txt"; File file=new File(filePath); BufferedReader reader = null; String tempString = null; int line =1; try { // System.out.println("以行为单位读取文件内容,一次读一整行:"); reader = new BufferedReader(new InputStreamReader(new FileInputStream(file),"GBK")); while ((tempString = reader.readLine()) != null) { System.out.println("Line"+ line + ":" +tempString); line ++ ; } reader.close(); } catch (FileNotFoundException e) { e

MyEclipse编码设置

大憨熊 提交于 2019-12-18 12:14:13
一、设置新建常见类型文件的默认编码格式,也就是文件保存的格式。 在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如windows2000,windowsXP)的编码一致,即GBK。 在简体中文系统下,ANSI 编码代表 GBK编码;在日文操作系统下,ANSI 编码代表 JIS 编码。 Window-->Preferences-->General -->content Types 在右侧窗口中展开每一个子项,依次输入编码格式,如“UTF-8”点击“update”就设置好了。 例如:在以上设置中,设置jsp默认编码格式为“UTF-8”,那么以后新建的jsp文件,都是以“UTF-8”的格式保存的。 同样设置java默认编码格式为“UTF-8”,那么以后新建的java文件,都是以“UTF-8”的格式保存的。 设置html默认编码格式为“UTF-8”,那么以后新建的html文件,都是以“UTF-8”的格式保存的。 以上设置了文件的保存编码格式,默认的打开方式(解码方式)会跟保存编码格式一样。 二、设置新建其他文件的默认编码格式,即文件保存格式。 在第一项设置中,只是设置了常用文件类型的编码格式。如果新建一个文件,没有后缀名,也就是不指名文件类型,那么MyEclipse无法判断该用何种编码格式保存,就用操作系统默认文件保存编码格式GBK进行保存

jdk编译java文件时出现:编码GBK的不可映射字符

回眸只為那壹抹淺笑 提交于 2019-12-09 12:59:37
出现此问题的几种解决办法:   1、cmd下使用javac编译java文件     如: javac test.java    解决办法:编译时加上encoding选项        javac -encoding UTF-8 test.java or javac -encoding UTF-8 -d . test.java   2、IntelliJ IDEA 导入单独的java文件时编译出现此错误     解决办法:由于IDEA不具有自动转换字符编码类型,所以需要先点击右下角的UTF-8保存为GBK类型保存,再次点击点击GBK保存为UTF-8即可。   3、使用Notepad++打开java文件,点击编码-->转为ANSI编码 , 保存即可。 来源: https://www.cnblogs.com/jiaqinbi/p/12010361.html

Python 读取文件编码错误

社会主义新天地 提交于 2019-12-08 19:21:08
1、UnicodeDecodeError: 'gbk' codec can't decode byte 0xaa in position 32: illegal multibyte sequence UnicodeDecodeError: 'gbk' codec can't decode byte 0xaa in position 132: illegal multibyte sequence 解决方案:尚未有 推测: 字符集合(   ) 问题出在“gbk"和”utf-8"都不能读取上面的那些(红色标注)字符,目前解决方法是找到文本中的这个字符,对其进行删除,再读取文本,或者使用try ……except 结构,凡是遇到读取失败的文本,continue 跳过,读取下一个文件。 2、SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 16-17: malformed \N character escape 解决方案:初步确认是文件路径的格式不对,filename应该为:E:/Python/Corpus/News/Environment/001.txt 这里是斜杆,而不是反斜杠 3、UnicodeDecodeError: 'utf-8' codec can't decode

UTF-8转码GBK

岁酱吖の 提交于 2019-12-07 21:42:58
昨天一个大学的同学问了一个关于utf-8转码gbk的问题,所以两个人一起讨论了一下关于utf-8转码成为GBK的乱码原因。 正常情况下如果我们需要将UTF-8格式转码为GBK,我们会需要经过这样一个中转: 通常情况下如果直接转码会出现一种情况就是GBK转码UFT-8出现乱码后乱码可以在转码回去变为原来的GBK中文。 但是UTF-8转码为GBK则会出现两种情况,在中文字符长度为偶数时是可以直接将乱码还原回去的,但是奇数情况下是无法全部转码回去的 究竟什么原因呢? 这和UTF-8的编码字节数和GBK的编码字节数有关,我们知道UTF-8的字符集是以三个字节数来存储的,而GBK则是两个字节数,所以就存在以下问题 当“你好好”三个字转码为字符集表示的时候,一共得到九个字节,当然这九个字节转码为gbk的时候会被两两分组,所以第九个字节就会被抛弃无法识别转化为有标记的乱码符号,当我们再把乱码转回去的时候,自然就无法还原为原来的UTF-8了。如下图 所以在UTF-8转gbk的基数情况下就会出现最后一个字转码为乱码后无法还原的情况。 来源: CSDN 作者: Tealar 链接: https://blog.csdn.net/u013130920/article/details/53304165

控制台程序的中文输出乱码问题,printf,wprintf与setlocale

烂漫一生 提交于 2019-12-06 12:40:50
解决gcc编译时的乱码问题 今天发现用securecrt登陆时,gcc编译出错时会出现乱码,但直接在主机的窗口界面下用Shell编译却没有乱码。查看了一下当时的错误描述,发现它的引号是中文引号,导致在SecureCRT中显示出错: before numeric constant 在网上查了一下,可以通过修改LC_CTYPE=zh_CN.GBK解决这个问题,具体的方法有两个: 1. 通过export命令修改LC_CTYPE变量的值 tianfang > export LC_CTYPE=zh_CN.GBK tianfang > gcc main.c main.c:1:1: error: expected identifier or '(' before numeric constant tianfang > 2. 修改/etc/sysconfig/language(大部分linux版本下这个文件叫/etc/sysconfig/i18n)中的变量设置,重新登陆后生效。 #RC_LC_CTYPE="" RC_LC_CTYPE="zh_CN.GBK" 我个人比较推荐方法2。 #include <stdio.h> #include <wchar.h> int main(void) { char str[] = "中文"; wchar_t wstr[] = L"中文"; printf("1:%s