unicode

Go语言规范(源代码表示)

痴心易碎 提交于 2020-04-07 07:45:28
原文: http://golang.org/doc/go_spec.html 翻译: 红猎人 (zengsai@gmail.com) Source code representation 源代码表示 [Top] Source code is Unicode text encoded in UTF-8 . The text is not canonicalized, so a single accented code point is distinct from the same character constructed from combining an accent and a letter; those are treated as two code points. For simplicity, this document will use the term character to refer to a Unicode code point. 源代码是用 UTF-8 编码 的 Unicode 文本。文本不是规范化的,因此一个单独加了重音的代码点有别于由字母和重音 结合而成的字符;它们对当作两个代码点对待。为了简单起见,该文档使用术语 字符 指代 Unicode 代码点。 Each code point is distinct; for instance, upper

那些年我们踩过的乱码坑

生来就可爱ヽ(ⅴ<●) 提交于 2020-04-06 21:48:24
前言 这是一个由乱码引发的故事。抱歉我暂时找不到更加惨烈的图,请相信我,还有更目不忍视的画面。请看下图那些框框,那都是些什么鬼!这是要害死强迫症吗?如果同时看到几十个框,简直让人崩溃。 问题来了,这究竟是些什么鬼? 计算机编码 既然是乱码,当然要看编码,那什么是编码呢?我们都知道,计算机本质上不就是 01 组成的一坨东西在运作着么? 01 这叫二进制,也就是最基本最底层的编码。 那么大家平常看到的网页也好,APP也好,上面的这些文字符号是怎么表现出来的?当然是根据标记打印出来的,但计算机只能是二进制的存储,并不能真正存ABCD呀,那就要把字母映射为相应的二进制。 上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。 ASCII码一共规定了128个字符的编码,比如大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的1位统一规定为0。但你美国英文字母少啊,我中文怎么办呢?全世界其他国家的字母其他语言怎么办呢,那就多加一些字节来表示咯。 如果有一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,那么乱码问题就会消失了,这就是Unicode。Unicode规定了每个符号都有自己的二进制码。标准虽是标准

Unicode13正式发布,更多的Emoji

廉价感情. 提交于 2020-04-06 13:32:11
Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。 Unicode 13现在正式可用,它标准化了143,859个不同的字符。 Unicode 13.0带来了数十种新的表情符号,包括新的性别和肤色序列。 新的表情符号从诸如凉鞋,凉鞋,肺部到抽水马桶柱塞之类的不同物体开始。 除了新的表情符号外,还为Yezidi,Chorasmian和其他语言添加了新的字符和 脚本 。 可以通过 Unicode.org公告 找到Unicode 13.0更改的完整列表。 此处 概述了新的Unicode 13.0表情符号。 来源: oschina 链接: https://my.oschina.net/linuxmeng/blog/3217710

Python学习笔记:字符编码原理和操作详解

徘徊边缘 提交于 2020-04-06 12:16:37
一、电脑字符集的历史   1、电脑是如何将二进制与字符对应起来的?     我们知道,电脑底层只认识0和1的二进制数据,为了让电脑可以跟人类互动, 我们使用8个二进制位(即1个字节)来对应一个更复杂的数字,     比如:使用二进制“01000001”来指代十进制“65”,也就是大写字母A     实际使用场景中,人类利用键盘打字符“A”时,实际上是打65这个数字,电脑再到表中寻找65所代表的二进制数据“01000001”,实际处理的是这个二进制数据,这样就对应起来了,     这种对应关系表就是最早的字符编码集ASCII码表,如下图:        2、字符集是如何发展成一个庞大家族的?     电脑最初是西方人发明的,欧美国家的字符比较少,他们仅占用了前面127个位置就已经够用了,而8位的二进制数据最多可以表示255个不同的字符,剩下的128个字符就留给了别的国家,那么别国肯定是不够用的,怎么办?     于是聪明的中国人在ASCII码中规定几个位置,默认当电脑要寻找这几个位置的字符时就映射到另外一张表格中,而这张表格中存储了完整的中文字符,中文字符的发展历史如下:     a、GB2312:支持7000个汉字     b、GBK1.0:支持20000+个中文字符     c、GB18030:支持27000+个中文字符     d、Unicode

Python --字符编码总结

元气小坏坏 提交于 2020-04-05 18:42:26
一、了解字符编码的知识储备   1. 文本编辑器存取文件的原理(nodepad++,pycharm,word)      打开编辑器就打开了启动了一个进程,是在内存中的,所以在编辑器编写的内容也都是存放与内存中的,断电后数据丢失,因而需要保存到硬盘上,点击保存按钮,就从内存中把数据刷到了硬盘上。在这一点上,我们编写一个py文件(没有执行),跟编写其他文件没有任何区别,都只是在编写一堆字符而已。     即:在没有点击保存时,我们所写的内容都是写入内存。注意这一点,很重要!!当我们点击保存,内容才被刷到硬盘。     上面做了两件事:写内容到内存,从内存将内存刷到硬盘。这是两个过程。 2. python解释器执行py文件的原理 ,例如python test.py     第一阶段:python解释器启动,此时就相当于启动了一个文本编辑器     第二阶段:python解释器相当于文本编辑器,去打开test.py文件,从硬盘上将test.py的文件内容读入到内存中     第三阶段:python解释器解释执行刚刚加载到内存中test.py的代码     python解释器执行py文件分为两个步骤:1.将文件读到内存,2.解释执行内容。 二、字符编码简介   要搞清楚字符编码,首先要解决的问题是: 什么是字符编码 ?   我们都知道,计算机要想工作必须通电,也就是说‘电’驱使计算机干活

Java基本类型

非 Y 不嫁゛ 提交于 2020-04-05 17:54:23
Java是强类型的语言,这意味着必须为每一个变量声明类型,根据最新(Java SE 14 Edition),Java一共有两种类型数据类型:primitiveType, referenceType。<sup>[1]</sup> ## 基本概念 ### 整型 类型 存储需求 取值范围 byte 1 byte -128 ~ 127 ( -2<sup>^</sup>7 ~ 2<sup>^</sup>7-1) short 2 bytes -32 768 ~ 32 767 ( -2<sup>^</sup>15 ~ 2<sup>^</sup>15-1) int 4 bytes -2 147 483 648 ~ 2 147 483 647 ( -2<sup>^</sup>31 ~ 2<sup>^</sup>31-1 , 超过20亿) long 8 bytes -9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807 ( 超过90万兆 ) byte 和 short 主要用于特定的场合,如底层的文件处理或者需要控制占用存储空间量的大数组, 与C, C++不同, **Java整型的范围与运行Java代码的机器无关**,这就解决了Java语言跨平台的问题,不会存在在32位系统与64位系统内存溢出等问题, 且Java没有任何无符号(unsigned

ASCII,Unicode编码和UTF-8解惑

生来就可爱ヽ(ⅴ<●) 提交于 2020-04-05 16:58:57
ASCII,Unicode和UTF-8终于找到一个能完全搞清楚的文章了 转载:Deft_MKJing宓珂璟 https://blog.csdn.net/Deft_MKJing/article/details/79460485 平时喜欢写东西,看博客,一直对编码有些懵,今天下午也不知道看到了什么,突然想了解下,就找到了这个文章,看完真的豁然开朗,这个必须留下来做纪念。 1.ASCII 我们知道,计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111。 上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为 ASCII 码,一直沿用至今。 ASCII 码一共规定了128个字符的编码,比如空格SPACE是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的一位统一规定为0。 2.非ASCII编码 英语用128个符号编码就够了,但是用来表示其他语言,128个符号是不够的。比如,在法语中,字母上方有注音符号

3.Python入门

旧街凉风 提交于 2020-04-05 16:31:09
一、编码 1、编码基础 ascii 8位为代表一个东西 unicode 32位代表一个东西 ,中文4个字节 ecs2 一个字符占2个字节 ecs4 一个字符占4个字节 utf-8 unicode压缩版 8位代表一个东西 gbk 中文用两个字节表示 gb2312 中文用两个字节表示 2、变量基础 变量命名规则 只包含数字下划线字母 不能以数字开头 不能是python关键字 and as assert break class continue def del elif else except finally for from False global if import in is lambda nonlocal not None or pass raise return try True while with yield 见名知意 为什么要用变量? 为了某个值创建一个’外号‘,以后在使用时通过次外号就可以调用了 3、注释 单行注释 # 多行注释 ''' ''' """ """ 4、输出 Python2版本中: print " " Python3版本中: print("") 5、输入 Python2版本中: raw_input() Python3版本中: input() 二、判断条件语句 1、if语句 if 判断条件(返回值为false或true): 表达式 if 1 < 2:

字符编码格式小结(ASCII/Unicode/UTF-8)

别等时光非礼了梦想. 提交于 2020-04-04 06:47:37
1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。 上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。 ASCII码一共规定了128个字符的编码,比如空格“SPACE”是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的1位统一规定为0。 2、非ASCII编码 英语用128个符号编码就够了,但是用来表示其他语言,128个符号是不够的。比如,在法语中,字母上方有注音符号,它就无法用ASCII码表示。于是,一些欧洲国家就决定,利用字节中闲置的最高位编入新的符号。比如,法语中的é的编码为130(二进制10000010)。这样一来,这些欧洲国家使用的编码体系,可以表示最多256个符号。 但是,这里又出现了新的问题。不同的国家有不同的字母,因此,哪怕它们都使用256个符号的编码方式,代表的字母却不一样。比如

unicode

纵然是瞬间 提交于 2020-04-04 04:48:23
Unicode只有一个字符集,中、日、韩的三种文字占用了Unicode中0x3000到0x9FFF的部分 Unicode目前普遍采用的是UCS-2,它用两个字节来编码一个字符, 比如汉字"经"的编码是0x7ECF,注意字符码一般用十六进制来 表示,为了与十进制区分,十六进制以0x开头,0x7ECF转换成十进制 就是32463,UCS-2用两个字节来编码字符,两个字节就是16位二进制, 2的16次方等于65536,所以UCS-2最多能编码65536个字符。 编码从0到127的字符与ASCII编码的字符一样,比如字母"a"的Unicode 编码是0x0061,十进制是97,而"a"的ASCII编码是0x61,十进制也是97, 对于汉字的编码,事实上Unicode对汉字支持不怎么好,这也是没办法的, 简体和繁体总共有六七万个汉字,而UCS-2最多能表示65536个,才六万 多个,所以Unicode只能排除一些几乎不用的汉字,好在常用的简体汉字 也不过七千多个,为了能表示所有汉字,Unicode也有UCS-4规范,就是用 4个字节来编码字符 中文名 Unicode码 外文名 Unicode 文 字 中、日、韩 字 符 UCS-2 分 类 计算机科学 目录 1 定义 2 方法 定义 编辑 Unicode码扩展自ASCII 字元集 。在严格的ASCII中,每个字元用7位元表示