gbk

dotnet core 使用 GBK 编码

为君一笑 提交于 2019-11-30 06:59:40
本文告诉大家如何在 .NET Core 中使用 GBK 编码 默认的 .NET Core 框架不包含 GBK 编码,不包含除了代码页为 28591 和 Unicode(utf-8,utf-16) 之外的其他编码,需要安装 System.Text.Encoding.CodePages 才能使用 先通过 NuGet 安装 System.Text.Encoding.CodePages 库 然后在使用之前调用下面方法,注意下面的方法只需要在程序集内调用一次 //使用CodePagesEncodingProvider去注册扩展编码。 Encoding . RegisterProvider ( CodePagesEncodingProvider . Instance ) ; 这个代码是做注册,可以在启动的时候调用 获取 GBK 可以使用下面方法 //注册GBK编码 Encoding encodingGbk = Encoding . GetEncoding ( "GBK" ) ; C# 判断文件编码 VisualStudio 编码规范工具 2.6 修改当前文件编码 win10 uwp 读取文本GBK错误 我搭建了自己的博客 https://blog.lindexi.com/ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新

Python中decode与encode的区别

余生长醉 提交于 2019-11-29 22:35:17
Python3默认编码是unicode;而Python2是ASCII码。Windows环境默认是gbk编码。 常见编码错误原因: 1. Python解释器的默认编码 2. Python源文件文件编码 3. Terminal使用的 编码 4. 操作系统的语言设置 一、 编码的种类 I、ASCII 占1个字节,只支持英文 II、GB2312 占2个字节,支持6700+汉字 III、GBK GB2312的升级版,支持21000+汉字,中文2个字节。 IV、Unicode 2-4字节 已经收录136690个字符 V、UTF-8: 使用1、2、3、4个字节表示所有字符;优先使用1个字符、无法满足则使增加一个字节,最多4个字节。英文占1个字 节、欧洲语系占2个、东亚占3个,其它及特殊字符占4个。中文3个字节。 VI、UTF-16: 使用2、4个字节表示所有字符;优先使用2个字节,否则使用4个字节表示。 二、 Python3的执行过程 1.解释器找到代码文件,把代码字符串按文件头定义的编码加载到内存,转成unicode 2.把代码字符串按照语法规则进行解释, 3.所有的变量字符都会以unicode编码声明 Py3 自动把文件编码转为unicode,Python2并不会自动的把文件编码转为unicode存在内存里。需要手动转码。 三、手动转码规则 UTF-8 --> decode 解码 -->

python 字符编码处理总结

筅森魡賤 提交于 2019-11-29 22:34:18
python中经常遇到这样那样的字符编码问题,尤其在处理网页源码时(特别是爬虫中): UnicodeDecodeError: ‘XXX' codec can't decode bytes in position 12-15: illegal multibyte... 每次看到上面这段文字的时候,感觉整个世界都昏暗了,然后就只能各种搜索找资料,过后就忘了。下次遇到时就让世界再昏暗一次。为了彻底解决这个拦路虎,今天咱们就好好的来唠嗑唠嗑。 下面以汉字'哈'来解释作示例解释所有的问题,汉字“哈”的各种编码如下: 1 UNICODE(UTF8-16) : 0xC854 2 UTF-8 : 0xE59388 3 GBK : 0xB9FE 除此之外还有如gb2312, big5等。例如一些含有繁体字的页面,比如www.google.com.hk首页中用的就是big5码, 不知道港台的码农同时处理简体字繁体字是不是更郁闷(笑脸) 处理解决 首先,在python中提到unicode,一般指的是unicode对象,例如'哈哈'的unicode对象为u'\u54c8\u54c8' 而str是一个字节数组,这个字节数组表示的是对unicode对象编码后(如utf-8、gbk、cp936、GB2312)的存储的格式,这里它仅是一个字节流,没有其它的含义,如果你想使这个字节流显示的内容有意义

day19

非 Y 不嫁゛ 提交于 2019-11-29 22:04:25
目录 字符编码 文本编辑器存储信息的过程 ASCII编码 Unicode编码 gb2312和gbk的区别 注意事项 用什么编码写,就用什么编码读 编码和解码 python解释器解释python代码的流程 python2和python3的编码区别 字符编码 字符(存储了信息的东西)编码() 键盘发送的是电流--》主机(内存)接收到电流(当作01010101)--》显示屏 接受电流(当作01010101--》键盘) 编码:0101010101--》键盘 文本编辑器存储信息的过程 文本编辑器--》写文本--》存储信息 显示屏(内存)--》(转换)硬盘 ASCII编码 由美国人创造 # ascii编码的转换关系的方法 print(chr(65)) # A print(ord('a')) Unicode编码 unicode可以认识万国编码 unicode存的时候多占用空间,所以出现了utf8(只和unicode对应)--》解决了unic内存占用的问题 utf8和gb2312/Euck都没有转换转换关系 gb2312和gbk的区别 虽然两者都是中文对应的编码 gb2312--》常用词 gbk--》所有子 注意事项 windows系统的记事本默认编码是gbk,除此之外都是utf8 用什么编码写,就用什么编码读 写用utf8,存用utf8,读用gbk--》乱码 写用utf8,存用gbk--》乱码

Python读取文件UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbc in position 2: invalid start byte

别来无恙 提交于 2019-11-29 21:44:49
Python读取文件报错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbc in position 2: invalid start byte 后来百度找到答案: 中文字符的Unicode编码0x0800-0xFFFF之间,(utf-8包含了部分汉字) 当你试图将该“中文字符”转成U码的utf-8时超出了其范筹 而GBK 规范收录了 ISO 10646.1 中的全部 CJK 汉字和符号,并有所补充, 所以解决方法是将.decode('utf-8')改为.decode('gbk') 来源: CSDN 作者: stone9159 链接: https://blog.csdn.net/stone9159/article/details/79071316

day 08 小结

女生的网名这么多〃 提交于 2019-11-29 21:41:51
目录 1.字符编码 1.1计算机基础 1.2 文本编辑器存取文件的原理 1.3 python解释器执行py文件的原理 1.4 python解释器与文本编辑的异同 1.5 字符编码介绍 1.什么是字符编码: 2.涉及到字符编码的两个场景 3.字符编码发展史与分类 4.乱码分析 2.python解释器(文本编辑器)解释python代码的流程 2.python2和python3的编码区别 1 python2 2 python3 1.字符编码 1.1计算机基础 1.2 文本编辑器存取文件的原理 1.打开编辑器就打开了启动了一个进程,是在内存中的,所以,用编辑器编写的内容也都是存放与内存中,断电即消失 2.要想永久保存,需要点击保存按钮:编辑器把内存的数据刷到了硬盘上。 3.在我们编写一个py文件(没有执行),跟编写其他文件没有任何区别,都只是在编写一堆字符而已。 1.3 python解释器执行py文件的原理 第一阶段:python解释器启动,此时就相当于启动了一个文本编辑器 第二阶段:python解释器相当于文本编辑器,去打开test.py文件,从硬盘上将test.py的文件内容读入到内存中 第三阶段:python解释器执行刚刚加载到内存中test.py的代码(ps:在该阶段,即真正执行代码时,才会识别python的语法,执行文件内代码,当执行name=“egon”时

人走茶凉 提交于 2019-11-29 21:32:14
Python(字符编码) 一 了解字符编码的知识储备    1. 文本编辑器存取文件的原理(nodepad++,pycharm,word)     打开编辑器就打开了启动了一个进程,是在内存中的,所以在编辑器编写的内容也都是存放与内存中的,断电后数据丢失 ​ 因而需要保存到硬盘上,点击保存按钮,就从内存中把数据刷到了硬盘上。 ​ 在这一点上,我们编写一个py文件(没有执行),跟编写其他文件没有任何区别,都只是在编写一堆字符而已。 ​ 2. python解释器执行py文件的原理 ,例如python test.py     第一阶段:python解释器启动,此时就相当于启动了一个文本编辑器     第二阶段:python解释器相当于文本编辑器,去打开test.py文件,从硬盘上将test.py的文件内容读入到内存中     第三阶段:python解释器解释执行刚刚加载到内存中test.py的代码      总结: python解释器是解释执行文件内容的,因而python解释器具备读py文件的功能,这一点与文本编辑器一样 与文本编辑器不一样的地方在于,python解释器不仅可以读文件内容,还可以执行文件内容 二 什么是字符编码   计算机要想工作必须通电,也就是说‘电’驱使计算机干活,而‘电’的特性,就是高低电平(高低平即二进制数1,低电平即二进制数0),也就是说计算机只认识数字  

JAVA之编码/解码 -- 各种环境下可能会发生的乱码问题及解决方案

自古美人都是妖i 提交于 2019-11-29 20:16:10
工作中经常遇到 java 编码问题,由于缺乏研究,总是无法给出确切的答案,这个周末在网上查了一些资料,在此做些汇总。 问题一:在 java 中读取文件时应该采用什么编码? Java 读取文件的方式总体可以分为两类:按字节读取和按字符读取。按字节读取就是采用 InputStream.read() 方法来读取字节,然后保存到一个 byte[] 数组中,最后经常用 new String(byte[]); 把字节数组转换成 String 。在最后一步隐藏了一个编码的细节, new String(byte[]); 会使用操作系统默认的字符集来解码字节数组,中文操作系统就是 GBK 。而我们从输入流里读取的字节很可能就不是 GBK 编码的,因为从输入流里读取的字节编码取决于被读取的文件自身的编码。举个例子:我们在 D: 盘新建一个名为 demo.txt 的文件,写入 ” 我们。 ” ,并保存。此时 demo.txt 编码是 ANSI ,中文操作系统下就是 GBK 。此时我们用输入字节流读取该文件所得到的字节就是使用 GBK 方式编码的字节。那么我们最终 new String(byte[]); 时采用平台默认的 GBK 来编码成 String 也是没有问题的 ( 字节编码和默认解码一致 ) 。试想一下,如果在保存 demo.txt 文件时,我们选择 UTF-8 编码,那么该文件的编码就不在是

socket套接字

核能气质少年 提交于 2019-11-29 19:20:13
一、用套接字实现简单通信 1.1服务端 import socket soc = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #绑定IP地址和端口号 soc.bind(('192.168.11.195',8080)) #处于监听状态 soc.listen(5) #准备接收数据 conn,addr = soc.accept() #接收数据,最大为1024字节 data= conn.recv(1024) # 打印客户端发来的信息 print('客户端发来的数据:',data) #发送信息 conn.send(b'sjdiuamjnd') # 关闭通信 conn.close() #关闭连接 soc.close() 1.2 客户端 import socket soc = socket.socket() #连接IP地址和端口号 soc.connect(('192.168.11.195',8080)) #发送消息 soc.send(b'adndhbv') #接收1024个字节 data = soc.recv(1024) #打印接收的数据 print('服务端接受的数据:',data) #关闭连接 soc.close() 二、用套接字实现通信循环 由于简单通信,客户端和服务器发一次数据就端来连接了,我们现在要用一种方法让他实现