gbk

基础数据类型补充以及编码的进阶

一笑奈何 提交于 2020-02-10 01:57:58
python 基础数据类型补充以及编码的进阶 一. 基础数据类型补充内容 1.1 字符串 字符串咱们之前已经讲了一些非常重要的方法,剩下还有一些方法虽然不是那么重要,但是也算是比较常用,在此给大家在补充一些,需要大家尽量记住。 #captalize :首字母大写        #swapcase :大小写翻转        #title   :每个单词的首字母大写 #center    :内同居中,总长度,空白处填充 #寻找字符串中的元素是否存在       #find     :返回的找到的元素的索引,如果找不到返回-1 #index     :返回的找到的元素的索引,找不到报错。 #captalize,swapcase,title print(name.capitalize()) #首字母大写 print(name.swapcase()) #大小写翻转 msg='taibai say hi' print(msg.title()) #每个单词的首字母大写 # 内同居中,总长度,空白处填充 ret2 = a1.center(20,"*") print(ret2) #寻找字符串中的元素是否存在 # ret6 = a4.find("fjdk",1,6) # print(ret6) # 返回的找到的元素的索引,如果找不到返回-1 # ret61 = a4.index("fjdk",4,6

ruby Encoding

家住魔仙堡 提交于 2020-02-08 09:40:52
一. 查看ruby支持的编码 Encoding.name_list 二. 搜索编码 Encoding.find('US-ASCII') #=> US-ASCII,不存在则抛出异常 三. __ENCODING__ __ENCODING__ #=> UTF-8, (__ENCODING__用作创建字符串的编码) 这里提一下: # -*- coding:gbk -*- __ENCODING__ #=> GBK # -*- coding:utf-8 -*- __ENCODING__ #=> UTF-8 源代码文件中,若包含中文编码,则需要注意两点: 1. 必须在首行添加 # -*- coding: UTF-8 -*- ,告诉解释器使用utf-8来解析源码。 2. 必须设置编辑器保存文件的编码为utf-8。 四.查看字符串编码 '法海你不懂爱'.encoding #=> UTF-8 五. force_encoding # -*- coding:utf-8 -*- '法海你不懂爱'.force_encoding('gbk') #=> 娉曟捣浣犱笉鎳傜埍 注意 : force_encoding 方法只是改变了字符串对象的编码信息,并没有改变字符串对象实际存储的内容, 这里‘法海你不懂爱’实际是以utf-8的编码存储的,现在修改了他的编码方式为gbk,ruby就会以gbk的方式来解码

Java 转换流的简单理解

一世执手 提交于 2020-02-07 01:49:22
字符编码和字符集 字符编码 计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制数转换之后的结果。按照某种规则,将字符存储到计算机中,称为编码。反之,将存储在计算机中的二进制数按照某种规则解析显示出来,称为解码。比如说,按照A规则存储,同样按照A规则解析,那么就能显示正确的文本符号。反之,按照A规则存储,再按照B规则解析,就会导致乱码现象。 编码:字符 --> 字节 解码:字节 --> 字符 字符编码,是一套自然语言的字符与二进制数之间的对应规则。 字符集 字符集,也叫编码表,是一个系统支持的所有字符集合,包括国家文字、标点符号、图形符号、数字等。 计算机要准确的存储和识別各种字符集符号,需要进行字符编码,一套字符集必然至少有一套字符编码。常见字符集有ASCII字符集、GBK字符集、Unicode字符集等。 编码引出的问题 在IDEA中,使用FileReader读取项目中的文本文件。由于IDEA的设置,都是默认的UTF-8编码,所以没有任何问题。但是,当读取系统中创建的文本文件时,由于系统的默认是GBK编码,就会出现乱码。 那么该如何解决呢?我们可以使用InputStreamReader类、OutputStreamWriter类,指定编码来进行读写操作,这时候就不会出现乱码的情况了。 OutputStreamWriter类 java

Python2 和 Python3 编码问题

大兔子大兔子 提交于 2020-02-07 01:47:03
基本存储单元 位(bit, b):二进制数中的一个数位,可以是0或者1,是计算机中数据的最小单位。 字节(Byte,B):计算机中数据的基本单位,每8位组成一个字节。 1B = 8b 各种信息在计算机中存储、处理,至少需要一个字节的空间。 字节与字符 计算机存储的一切数据都是由一串 0 和 1 组成的字节序列构成。 字符就是一个符号,比如一个汉字、一个英文字母、一个标点都可以称为一个字符。 编码与解码 我们用编辑器打开的文本,看到的一个个字符,最终保存在磁盘上的时候都是以二进制字节序列形式存起来的。那么从字符到字节的转换过程就叫做编码(encode),反过来叫做解码(decode),两者是一个可逆的过程。编码是为了存储传输,解码是为了方便显示阅读。 编码规则 编码是人们定义的一种规则,使字符可以根据该规则,转换为对应的字节,方便存储和传输,也可以使字节转化成对应的字符用于显示、阅读。 例如,按照 ASCII 编码进行转换,字符 A 对应的字节为 0100 0001,占用 1 个字节的大小,一个字节也就是8位,可以表示 0 - 255,对于英文来讲 255 个字符已经足够显示所有的英文字符了,所以 ASCII(每个 字符占用一个字节) 编码是美国的标准编码 但是 ASCII 处理中文明显是不够的,中文不止 255 个汉字,所以中国制定了 GB2312 编码,用两个字节表示一个汉字

UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 30380: illegal multibyte

烈酒焚心 提交于 2020-02-04 07:19:23
UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xbb’ in position 30380: illegal multibyte sequence 错误出现的解决办法 UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 30380: illegal multibyte sequence 如图: 重新导入编码格式 import io import sys sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030') #改变标准输出的默认编码 此处用encoding=‘gb18030’,因为encoding='utf-8’会产生中文乱码 1.UTF-8:即国际通用字符编码,该编码方式囊括了世界各个国家及地区使用的字符集,尤其是对于英文字母的表示方法仅占用一个字节,很好的支持了欧美等国家的需要。优点:为了统一世界上各种编码而设计,通用性强。缺点:为了兼顾世界所有语言的字符,必须采用多位给字符编号,例如中文字符采用3字节编码方式,而gb18030采用2字节。 2.gb18030:是新出的国家标准。这个标准由国家强制执行(也是为了保证中国信息业的地位

Java学习43:Java的异常

∥☆過路亽.° 提交于 2020-02-04 03:15:01
从这一章开始,我们学习Java的另一个重要知识,Java里面的异常,以及如何捕获,打印。 首先关闭当前项目,左上角点击file,close project,然后创建一个新的项目,名字叫做SixthDemo。然后创建Java的包,名为com.sixth.error,然后创建一个Java文件,名为Demo01.java 在计算机程序运行的过程中,总是会出现各种各样的错误。 有一些错误是用户造成的,比如,希望输入一个int类型的年龄,但是用户输入的是abc: // 假设用户输入了abc: String s = "abc"; int n = Integer.parseInt(s); // NumberFormatException! 程序想要读取某个文件的内容,但是用户已经把它删除了: // 用户删除了该文件: String t = readFile("C:\\abc.txt"); // FileNotFoundException! 还有一些错误是凭缘分碰到的,而且永远无法避免。例如: 网络断开,连接不到服务器 内存耗尽,程序崩溃 用户点“打印”,但是你没有外接打印机 … 所以,一个健壮的程序必须处理各种各样的错误。 所谓错误,就是程序调用某个函数的时候,如果失败了,就表示出错。 调用方如何获知调用失败的信息?有两种方法: 方法一:约定返回错误码。 例如,处理一个文件,如果返回0,表示成功

Qt 编码问题QTextCodec

醉酒当歌 提交于 2020-02-03 16:31:31
一般在Window开发环境里,是GBK编码,在Linux开发环境里,是utf-8编码,关于编码的定义, 我就不这里多说了,网上有一大堆资料可以查看。 qt 对默认的是 unicode 编码, 在Window开发环境里,比较通用的写法是: 在main.cpp文件中加入: 1. QTextCodec *gbk = QTextCodec::codecForName("gb18030"); 2. QTextCodec::setCodecForTr(gbk); 3. QTextCodec::setCodecForLocale(gbk); 4. QTextCodec::setCodecForCStrings(gbk); 第一行:定义gb18030编码格式 第二行: 这个函数的作用是设置传给 tr函数时的默认字符串编码 ,GUI设计中最常用的一种。 第三行:这个函数主要用于设置和对本地文件系统读写时候的默认编码格式。比如通过 流读取一个文件内容时的编码格式 。或者通过 qDebug()输出打印信息时的编码 。 第四行:这个函数主要是用在 字符常量或者QByteArray构造QString对象时使用的一种编码方式 。 同理,在Linux开发环境里, 通用的写法是: QTextCodec *utg8 = QTextCodec::codecForName("utf-8"); QTextCodec:

字符编码

跟風遠走 提交于 2020-02-03 10:04:00
转载 https://www.cnblogs.com/hukey/p/9647291.html 1.编码: ascii码: 不支持 中文 .python2使用的编码是 支持,英文,数字,符号 8位一个字节 gbk编码 国标: 支持: 中文,英文,数字,符号 英文16位 中文16位 unicode 万国码 支持:中文,英文,数字,符号 英文 32位,四个字节 中文 32位,四个字节 utf -8长度可变,的万国码最少用8位, python3使用的编码 英文 8位 一个字符 中文 24位 三个字节 python3中程序运行阶段使用的是uniconde码,显示的内容是bytes类型 传输和存储使用的byes pycharm 存储使用的是utf8 1.编码. 汉字,一个汉字utf-8是3个字节 举例: s = "中" bs = s.encode("utf-8") print(bs) b'\xe4\xb8\xad gbk,英文编码是ascii原样输出,汉字,一个汉字gbk是2个字节 s = "alex" bs = s.encode("gbk") print(bs) b'alex' 2.解码,用什么编的码,就要用什么来解码 举例:都使用utf-8来,腾讯qq微信发的其实都是这些码,然后进行解码 编码: s = "old广坤" bs = s.encode("utf-8") print(bs)

JAVA单排日记-2020/1/29-转换流

∥☆過路亽.° 提交于 2020-01-31 12:09:51
1.字符编码和字符集 字符编码:一套自然语言的字符与二进制数的对应规则 编码:字符(能看懂)–> 字节(看不懂) 解码:字节(看不懂)–>字符(能看懂) 字符集(编码表) 2.转换流 使用原因:不同编码集之间转换会出现乱码(例如使用软件自带的UTF-8读取Windows系统默认的GBK编码文件时会出现乱码),使用转换流可以指定编码表, 读取任意编码格式的文件 转换原理: 2.1 OutputStreamWriter OutputStreamWriter 为 Writer 的子类 构造方法 OutputStreamWtiter ( OutputStream out ) 使用默认字符编码 OutputStreamWtiter ( OutputStream out , String charsetName ) 使用指定的字符编码 OutputStream out :字节输出流,可以用来写写入目的地 String charsetName :编码表名称,不区分大小写,UTF-8/utf-8(默认),GBK/gbk… 使用步骤 创建 OutputStreamWriter() 类对象,构造方法中填写字符输出流和指定编码表 使用 write() 方法,将字符转换为字节,保存在 缓冲区 使用 flush() 方法,将缓冲区的数据刷新到文件中 释放资源 import java . io .

JAVA单排日记-2020/1/29-转换流练习_转换文件编码

半腔热情 提交于 2020-01-30 06:07:18
import java . io . * ; public class Demo04 { public static void main ( String [ ] args ) throws IOException { InputStreamReader fileIn = new InputStreamReader ( new FileInputStream ( "G:\\Java\\测试文件夹\\我是GBK格式的文本.txt" ) , "GBK" ) ; OutputStreamWriter fileOut = new OutputStreamWriter ( new FileOutputStream ( "G:\\Java\\测试文件夹\\我是utf_8格式的文件.txt" ) , "UTF-8" ) ; int len = 0 ; while ( ( len = fileIn . read ( ) ) != - 1 ) { fileOut . write ( len ) ; fileOut . flush ( ) ; } fileIn . close ( ) ; fileOut . close ( ) ; } } 来源: CSDN 作者: Mango学习日记 链接: https://blog.csdn.net/wangzilong1995/article/details