国内最专业的IT技术学习网

UI设计

当前位置:主页 > UI设计 >

探讨Oracle数据库底层存储---字节序和字符集

发布时间:2019/09/11标签:   字符集    点击量:

原标题:探讨Oracle数据库底层存储---字节序和字符集
概述明天重要探究下Oracle数据库底层存储--字节序和字符集,上面一同来看看吧~1、字节序Oracle装置在差别的效劳器架构平台,数据文件所采纳的字节序也不雷同。字节序有两种,Big Endian和Little Endian。比方个别咱们Windows或许Linux效劳器用的CPU是Intel/AMD架构,那末数据文件保留格局为Little Endian,假如用的是IBM的Power PC,那末数据文件保留格局为Big Endian。Big Endian和Little Endian详细在保留数据时有甚么差别呢?咱们举例阐明。整数1920假如用4个字节(十六进制0X00000780)保留,那末在Big Endian的保留方式以下表所示。

探讨Oracle数据库底层存储---字节序和字符集
咱们再来看看Little Endian的保留方式。
探讨Oracle数据库底层存储---字节序和字符集
依据下面的内容,咱们能够晓得在Little Endian下,保留整数1920是反向的以以下出各个效劳器平台的ENDIAN格局。
探讨Oracle数据库底层存储---字节序和字符集
2、字符集盘算机现在发现时大多用来处置数字,厥后缓缓的用来处置笔墨。成绩来了,盘算机可不意识全天下这么多笔墨,乃至连26个英笔墨母也不意识。因而美国国度尺度协会ANSI开端制造尺度,比方用65表现字母A,用66来表现字母B,包含26个巨细写字母,数字和一些标记(100多个),这就是最后的ASCII码。现在ASCII码没有超越128个,只用了7位来表现,最高位留给用作奇偶校验。厥后又被欧洲扩大到了8位,能够用来表现256个字符。ASCII码并没有包含中文,要让盘算机意识中文,中国的尺度化机构也开端制造了一些尺度(GBK)。中国的汉字太多了,用一个字节可装不下这么多(8个二进制位最多表现256个字符),因而采纳了2个字节(实践上能够表现65536个字符),其余国度和地域也没有闲着,比方日本的Shift_JIS编码,香港台湾的BIG5编码,因而全天下发生了种种种种的字符编码。如许成绩又来了,并且是大成绩。各人都各搞各的,这么多编码,本人当地传输信息固然没有成绩。然而当一其中国人发GBK编码的中文邮件给日自己,日自己的电脑假如只意识Shift_JIS编码,那末盘算机将会把全部GBK编码依照Shift_JIS编码来说明,因而日自己看到的是所谓的“乱码”。之以是叫所谓,由于盘算机自以为它并没有做错,那些“乱码”也是对应的字符,只是不罕用,日自己看不懂罢了,盘算机懂的。因而地球上的尺度化构造引导们又闭会探讨了,还提出了一个巨大的主意,这就是UNICODE字符集。这类字符集的主意是用一套字符集把地球上全部的笔墨都包含出去。固然2个字节可装不下全天下的全部字符,采纳了4个字节(实践上能够表现4294967296个字符)。用UNICODE字符集完成的编码有UTF32/UTF16/UTF8。下面扯了这么多,那末咱们在新建数据库的时间,须要抉择数据库的数据库字符集(CHARACTER SET)和国度字符集(NATIONAL CHARACTER SET)。比方咱们抉择数据库字符集为 ZHS16GBK,国度字符集为AL16UTF16。它表现这个数据库里Char,Varchar2采纳的是GBK的编码,而Nchar,Nvarchar2,Nclob采纳UTF16编码。

版权信息Copyright © 银河官网 版权所有    ICP备案编号:鲁ICP备09013610号