哈喽,大家好,我是指北君。
成都创新互联是一家集网站建设,邱县企业网站建设,邱县品牌网站建设,网站定制,邱县网站建设报价,网络营销,网络优化,邱县网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
最近看《狂飙》了吧,大嫂气场十足!飒爽!
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符 设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
字符集当然是字符的集合,那么字符呢?你看到这篇文章的每个字母、中文或标点符号,就是一个个字符。
在计算器出现的早期,计算机仅支持的字符集为ASCII,其对应的字符就能够满足当时的使用需求,但随着计算机的发展,在计算机上需要显示的内容越来越复杂, 各个国家不同厂商都有自己的实现标准,然而有没有谁能够兼容世界所有的文字,因此产生了各种字符集,比如ASCII、ISO-8859-1、GB2312、BIG5等等。
为了实现人和计算机间的交流,我们只认识字符,计算机只认识二进制数据,字符编码即实现将字符转换成机器码进行存储、使用的的一种技术手段。
Unicode是字符集,而不是编码方式。
字母、文字、数字、标点符号、图形符号等字符的集合。表示了字符到二进制比特位的映射关系
ASCII
GB2312
字符对应二进制字节表示后的编码规则以及存储形式。
ASCII、GB2312 是字符集也是字符编码
Unicode编码模型包含五层:
层次 |
名称 |
作用 |
结果 |
描述 |
1 |
抽象字符表ACR |
字符范围 | ||
2 |
编号字符集CSS |
字符编号 |
unicode字符集 | |
3 |
字符编码方式CEF |
码元序列 |
UTF-8、UTF-16、UTF-32 | |
4 |
字符编码方案CES |
物理编码 |
字节序列 | |
5 |
传输编码语法TES |
网络传输编码 |
base64 |
unicode是字符的表现形式,而utf8是字符的存储形式,或者说是存储实现
下面是unicode与unf8的映射表,我们通过字符的unicode码点(对应的16进制编码)可以找到对应的utf-8格式并进行编码转换最终实现物理存储。
unicode |
utf-8 |
000000-00007F |
0xxxxxxx |
000080-0007FF |
110xxxxx 10xxxxxx |
000800-00FFFF |
1110xxxx 10xxxxxx 10xxxxxx |
010000-10FFFF |
11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |
那么unicode字符如何转换成utf8编码呢?
有没想过,像GBK为什么既可以是字符集又可以是字符编码?其实将字符映射成对应的二进制数据时,我们是可以将其直接存储到计算机,但unicode作为统一码,基本攘括了目前常用的所有的字符,而这些字符不是都由两个字节组成,比如前面说的å,那么如何确定一个字符到此从哪个字节开始呢?这里引用utf编码就是为了实现这个,不仅减少了字符空间占比,同时提高了字符编码效率。
BOM 是 Byte Order Mark 的缩写。是UTF编码方案里用于标识编码的标准标记,在UTF-16里本来是FF FE,变成UTF-8就成了EF BB BF。这个标记是可选的, 因为UTF8字节没有顺序,所以它可以被用来检测一个字节流是否是UTF-8编码的。
在java中,我们通过\u开头来表示unicode编码,比如上面的\u6211,则表示的是“我”。
看下面这段代码,你觉得会输出什么?
public static void main(String[] args) throws IOException {
//
// \u000d System.out.println("Hello World");
}
当然是“Hello World”了,不要觉得//后面的代码全部会被解析为注释,前提是没有换行符,然而\u000d恰好会被解释为换行符,这样其后面的代码会作为新的一行进行解析, 这也是为什么会有这样的输出结果了
通过下面的命令可以对java源文件进行编译:
javac ./Main.java -encoding utf-8
window环境默认编码为gbk
要知道java作为一门高级静态语言,需要通过编译后才能交由JVM加载使用的,在java文件编译前还会经历对源代码进行词法分析、语法分析、语义分析等等,最后生成class文件后,才能被JVM加载。而源文件中\u开头的字符则是在这个过程中被解析并处理的。
unicode作为世界统一编码,经历了很多变革,该篇主要通过unicode让你对字符集以及字符编码有一个简单的认识。
网站标题:大嫂说,有你靠的(Unicode)
网页路径:http://www.mswzjz.cn/qtweb/news10/210110.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能