Unicode与ISO10646

C语言头文件 CISO646 C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CIS 立即下载
Unicode与ISO10646(作者:曾士熊) 

一、缘起 

1960年代初期,美国国会图书馆(Library of Congress, LC)的
Henriette Avram等人开始研拟机读编目格式,同时James Agenboard
等人也制订了英文的字符集和交换码,以做为美国图书馆界书目交 
换的共同标准。LC交换码随后发展成为美国的国家标准ASCII(American 
Standard Codefor Information Interchange),而且还进一步演
变成世界性的计算机字符编码标准ISO646(其全名为7-bit coded
character set for information interchange)。时至今日,虽然
一个字节(byte)的长度已经从7个位(bit)增加为8个位, 
ASCII和ISO646 仍然是计算机与网络世界里要的奠基标准。

依ASCII和ISO646的规定,7个位所能提供的128个编码位置(编 
码范围为0~127)被区分为两部分:94个图形字符码和34个控制字 
元码。图形字符包括52个大小写英文字母﹑10个阿拉伯数字﹑9个标 
点符号﹑6个括号,以及17个其它符号,编码范围从33到126。控制 
字符则包括10个传输控制字符、6个版面调整字符、4个设备控制字 
元、 4个信息分隔字符和10个特殊控制字符,其编码为0~32和127。
当计算机或网络设备收到一连串的位信号时,通常会一边接收一边 
切分为字节(即每8个位一切),并且立刻分辨刚收到的位 
组究竟是控制字符码还是图形字符码。若是属收讯设备相关的控制 
字符时(例如传输控制、编码为7的BELL等字符),当计算机或网络 
设备会截留该字符并立即做出对应动作(例如BELL字符会驱使收讯 
设备叫一声),否则不予处理而传送给后续设备。换言之,计算机和 
网络设备会吃掉位串里的特定控制字符码。 

随着计算机功能的日趋强大与价格的日趋便宜,其应用领域也越来 
越广。但是随之而来的各种编码需求,却使得单一字节的编码方 
式,因编码空间太小,变得不足以因应各种应用程序的需求。中文 
字、排版系统的标志符号、非英语拼音字母和图形符号等的编码, 
需要使用2或多个字节来编码。同时,为了预防这些多字节字符 
码被计算机或网络设备「吃掉」其中的某个字节,编码时必须避开 
每个字节的0~32和127这34个句柄。这种做法严重浪费编码空 
间,就多字节扩充编码的国际标准ISO2022而言,两个8位的位 
元组只能提供最多188个控制字符和35,344个文字形符号的编码空间, 
共计35,532个编码位置,但是16个位的编码空间事实上高达65,536。 
两者相比较,ISO2022的16位编码只能达到最大编码空间的54%, 
显得利用率很差。同时在应用层次的编码,由于厂商众多又缺乏共 
识,往往你编你的码、我编我的码,其后果则是引发万码奔腾的乱 
象。 

为容纳全世界各种语言的字符和符号,ISO的一些会员国于1984年 
发起制定新的国际字符集编码标准。新标准由工作小组ISO/IEC 
JTC1/SC2/WG2(注1)负责拟订(以下简称WG2),最后定案的标准 
命名为"Universal Multiple-Octet Coded Character Set"
(简称UCS),其编号则订为ISO/IEC 10646。依WG2原来的规划,
ISO10646的编码结构系沿袭ISO2022八位延伸编码结构以避开C0和 
C1两个句柄区(注2),但打破每个字符码里的所有字节的bit-8 
(即最左边的位,其值为28=128)必须都设为0或是都设为1的限制, 
以提高编码空间的使用率。同时,为了能有足够位置以容纳全世界各 
种语言的字符和符号,以及为了配合微处理器以8、16、32甚或64个 
位为一个运算处理单位的趋势,ISO10646的字符码长度被规定为 
定长的4个八位(octet)。 

ISO10646草案初稿一经公布,其编码结构立即遭到美国部份计算机 
业者的反对。1988年初,美国Xerox公司的Joe Becker倡议以新的编
码结构,另外编订世界性字符编码标准:将计算机字符集编码的基本 
单位由现行的7或8个位一举扩充为16个位,并且充分利用65,536 
个编码位置以容纳全世界各种语言的字符和常用符号。新的字符集 
编码标准被命名为"Unicode"(注3)。一群来自Xerox公司和Apple 
公司的工程师组成工作小组,负责Unicode的原始设计工作。1991年 
元月,十多家计算机硬软件、网络和信息服务业者,包括:IBM、DEC、 
Sun、Xerox、Apple、MicroSoft、Novell名公司,共同出资成立 
Unicode协会(The Unicode Consortium),并由协会设立非营利的
Unicode公司。Unicode协会成立之后,将原先的工作小组扩编为 
Unicode技术委员会(Unicode Technical Committee),专责Unicode
的字符搜集、整理、编码等工作。推动Unicode成为国际标准的工作, 
则由Unicode公司负责。Unicode草案第一版于1989年9月发表,历经 
多次修订后,分别于1991、92年出版了Unicode标准第一版(The 
Unicode Standard, version 1.0)的第一、第二册。

由于Unicode协会持续的游说和施压,WG2终于放弃原先选择的ISO2022 
八位延伸编码结构,改采Unicode的编码方式,亦即连续编码不再避开 
C0和C1句柄区。1991年10月,历经几个月的协商之后,WG2和Unicode 
协会达成协议,将Unicode并入ISO10646成为第0字面。之后各国语言字 
元的搜集、整理和编码等工作转由WG2主导,而Unicode协会则积极协助 
WG2,但双方仍然各自出版自己的编码标准。由于双方标准的整合是在 
Unicode标准第一版第一册出版之后才展开的,因此该版次标准的第二 
册特别在第一章里说明了为因应合并工作所做的编码区和字符集修订项 
目。ISO于199月出版ISO10646-1(注4)的第一版,而第二版则经过多年 
修订之后于今年3月出版。介于ISO10646-1第一、二版之间的Unicode标 
准第二版于1996年出版,而对应于ISO10646-1第二版的Unicode标准第三 
版于今年一月出版。今年三月,在北京举行的WG2第38次会议正式通过 
ISO10646-2(注5)最终草案,预定五月底编辑完成后送交各会员国审 
查,如无意外,明后年将会正式出版。 

二、编码结构与字符集 

ISO10646字符码的正规形式(可简称为UCS-4)为32个位,划分 
成4个八位,如【图一】所示。这4个八位,由左而右命名为群 
八位(G-octet)、面八位(P-octet)、列八位(R-octet) 
和格八位(C-octet),分别代表编码结构中的群组(group)、 
字面(plane)、列(row)与格(cell)。ISO10646规定其字符码 
的b32必须为0,因而整个编码空间可区分为128个群组(群八位 
的值为00~7Fh(注6)),每一群组由256个字面所组成(面八位 
元为00~FFh),每一个字面由256列所组成(列八位为00~FFh), 
每一列则包含256格(格八位为00~FFh),为一个编码位置。除 
此之外,ISO10646还规定每一个字面的最后两个编码位置FFFEh和 
FFFFh,保留不用。所以,ISO10646整个编码空间总共256×128= 
32,768个字面,每个字面为256×256-2=65,534个编码位置,合 
计65534×32768=2,147,418,112个编码位置。 

ISO10646的第0群组第0字面(群八位和面八位的值都为00h) 
称为「基本多语文字面」(Basic Multi-lingual Plane, BMP),
其编码字符与Unicode相同。BMP之外的32,767个字面区分为辅助字 
面(supplementary planes)和专用字面(private use planes)。
辅助字面用以收容WG2陆续收集、整理和编码的各国语文字元;专 
用字面的内容WG2不予规定,保留供使用者自行添加ISO10646未收 
容的字符。专用字面共8,226个,包括00h群组的0Fh、10h和E0~ 
FFh共计34个字面,以及60~7Fh共32个群组的8,192个字面。除了 
这8,226个专用字面之外,其余的24,541个字面都是辅助字面。 
当计算机系统只使用BMP的字符码时,可以省略群八位和面八位 
元,因而而将字符码由32个位缩短为16个位,称为ISO10646 
字符码的基本面形式(可简称为UCS-2),其实也可视同于Unicode。 

ISO10646所有字面中,目前仅有第0、第1和第2字面真正收容 
编码字符。ISO10646的BMP和Unicode的编码字符,依其UCS-2编 
码序介绍如下: 

(1)0000~007Fh:基本拉丁字母区。其中0000~001Fh为C0控 
制码,0020h为空格(space),0021~007Eh为ASCII图形 
字符,007Fh为句柄DEL。事实上,这128个字符码只要 
把前8个位去掉就可变成习见的8位形式的ASCII码。 

(2)0080~00A0h:句柄区。其中0080~009Fh为C1句柄, 
00A0h为不中断空格(no-break space)。

(3)00A1~1FFFh:拼音文字区。收容除基本拉丁字母以外的各种 
拼音文字字符,包括欧洲各国语言、希腊文、斯拉夫语文、 
希伯来文、阿拉伯文、亚美尼亚文、印度各地方言、马来文、 
泰文、寮文、柬普寨文、满文、蒙文、藏文、印地安语文等。 

(4)2000~28FFh:符号区。收容各种符号,包括标点符号、上下 
标、钱币符号、数字、箭头、数学符号、工程符号、光学辨 
识符号、带圈或带括符的文数字、表格绘制符号、地理图标、 
盲用点字、装饰图形等。 

(5)2E80~33FFh:中日韩符号区。收容康熙字典部首、中日韩辅 
助部首、注音符号、日本假名、韩文音符,中日韩的符号、 
标点、带圈或带括符文数字、月份,以及日本的假名组合、 
单位、年号、月份、日期、时间等。 

(6)3400~4DFFh:中日韩认同表意文字扩充A区,总计收容6,582 
个中日韩汉字。 

(7)4E00~9FFFh:中日韩认同表意文字区,总计收容20,902个中 
日韩汉字。 

(8)A000~A4FFh:彝族文字区,收容中国南方彝族文字和字根。 

(9)AC00~D7FFh:韩文拼音组合字区,收容以韩文音符拼成的文 
字。 

(10)D800~DFFFh:S区,专用于UTF-16,详情后叙。 

(11)E000~F8FFh:专用字区,其内容WG2不予规定,保留供使用 
者自行添加ISO10646未收容的字符。 

(12)F900~FAFFh:中日韩兼容表意文字区,总计收容302个中日 
韩汉字。何谓兼容表意文字,留待后叙。 

(13)FB00~FFFDh:文字表现形式区,收容组合拉丁文字、希伯来 
文、阿拉伯文、中日韩直式标点、小符号、半角符号、全角 
符号等。 

WG2集各国专家之力共同整理全世界古今各种语言文字和符号,陆 
续编入ISO10646。WG2依语言特性把各种文字区分为表意文字和非表 
意文字两类,表意文字其实就是东亚各国所使用发源于中国的汉字, 
主要包括台湾、中国、日本、南北韩、越南、新加坡和港澳地区所使 
用的汉字。除汉字之外的所有其它文字,一律归类为非表意文字,绝 
大部分为拼音文字。ISO10646的BMP和Unicode同时收编非表意文字、 
符号和表意文字。但全世界古今各种语言文字和符号的数量何其庞大, 
单靠BMP不足以容纳。WG2截至目前为止所收集、整理的非表意文字和 
符号部分,扣除已编入BMP者,其余全部编入第1字面,由于其内容项 
目过于庞杂,本文不拟介绍。而表意文字部分扣除已编入BMP者,其 
余全部编入第二字面,其内容为: 

(1)中日韩认同表意文字扩充B区:总计42,807个中日韩越汉字, 
编码范围为0002-0100~0002-A836h。 

(2)CNS11643兼容字符区:收容被认同的CNS11643字符527个,编 
码范围为0002-F800~0002-FA16h。 

WG2制订ISO10646编码字符集,首先由各会员体或观察员收集整理 
自己国家的文字和符号向WG2提案(注7),WG2每半年召开会议审查 
字符集提案,通过者即予以编码或是等候汇集更多字符集后再进行 
编码。非表意文字或符号,因为字集小或是只有某个国家使用,通 
常直接在WG2会议上讨论即可。但汉字字集规模庞大且为多个国家和 
地区共同使用,WG2为此设置表意文字书记小组(Ideograph Rapporteur
Group, IRG)专责收集各国汉字字集,加以比对认同汇整成为整体
性字集之后再向WG2提出。IRG所建议的字符集,WG2向来都是直接 
接受予以编码。IRG各会员体所提出的汉字都源自中国,难免有些字 
的字形相同或极为近似。为了避免ISO10646编码表出现重复字造成 
使用者困扰,IRG制订了表意文字认同规则。凡是依规则应予认同的 
汉字,一律合并成一字赋予一个编码。不过为了尊重各国对各自文 
字的主控权,WG2特别在ISO10646编码表中并列同一汉字不同来源的 
各自字形。 

认同规则不仅运用于整合不同来源的汉字,同时适用于相同来源 
的汉字。例如,在我国中文码国家标准CNS11643的字集里就收编了 
两个极为相似的「图」字,分别赋予两个不同的码1-6837h和6-5B5Bh, 
这两个「图」字,依认同规则必须合并为一个,于是后者被前者认 
同掉了。详言之,CNS的1-6837h和6-5B5Bh都对应到Unicode的5716h 
(或ISO10646的0000-5716h),但是Unicode的5716h却只对应到CNS 
的1-6837h。当我们把数据从CNS码转换成Unicode,再由Unicode转回 
CNS码时,将发生6-5B5Bh→5716h→1-6837h的结果,这种现象称为去 
回转码(round-trip conversion)错误。解决之道无他,必须在
Unicode或ISO10646字集中多加上被认同掉的字符并另外赋予编码 
(称为兼容字符),做到CNS字集与ISO10646字集一对一(但不必 
也无法做到映成)。ISO10646第2字面所收容的CNS兼容字集,就是 
我国为了达到正确去回转码的目的,经多年力争所得成果。换言之, 
CNS11643现有中文字集已全数编入ISO10646编码表中。 

三、UTF-16与UTF-8 

ISO10646的编码空间足以容纳古今人类使用过的所有文字和符号, 
但目前真正被使用的文字或符号,绝大多数都已编入BMP,它们的使 
用频率可能超过99%,甚至99.99%。换言之,就99%以上的使用者或 
使用场合而言,16位的Unicode已是足敷需求,32位的ISO10646 
正规编码则显得割鸡用牛刀。32位编码不只要比16位编码占用 
多一倍的记忆或储存空间,而且在网络传输和信息处理上也需花费 
比较长的时间。就经济效益而言,将来计算机和网络选择使用Unicode 
的可能性,很明显地要高于选择使用32位的ISO10646正规编码。 
问题是,在Unicode的世界里,遇到必须使用646第1、第2字面甚至 
更后方字面的字符时,怎么办?Unicode协会提出的解决方式称为 
UTF-16或代理法(surrogates)。 UTF为"a UCS(or Unicode)
Transformation Format"的缩写,UTF-16意即把原为32位的
ISO10646字符码转换为2或多个16位的Unicode。目前的作法是组 
合两个Unicode字符码来代表一个ISO10646字符,如【图二】所示, 
所以又称为代表法。两个做为代表的Unicode,位于前方(左方) 
者称为高半字符,限定只能选用D800~DBFFh当中之一,位于后方 
(右方)者称为低半字符,限制只可从DC00~DFFFh当中选择。高 
低半字符的编码位置各为1,024=4×256,因此UTF-16总计可提供 
(4×256)×(4×256)=16×65536个编码位置,亦即16个字面。 
对BMP而言,当然无需使用UTF-16转码,所以UTF-16主要应用于 
ISO10646的第1~第14字面(因为第15字面为专用字面,WG2不予编 
码)。将ISO10646字符(编码范围0001-0000~000E-FFFFh)以 
UFT-16转换成Unicode组合形式的规则,如【图三】所示,图中为了 
方便对应16进制,特别将字符码表现成每4个位一组,中间以短杠 
分隔。转换方式不难,将原来的32位ISO10646字符码,从右往左 
取出10个位(即图中的Y10~Y1)前头附加上特定的6个位110111, 
即成为低半字符。接着往左取出6个位(即图中的Y16~Y11)做为 
高半字符的最低6个位,然后再往左取出4个位(即图中的Z4~Z1, 
相当于Y20~Y17,其值可显示第0~第15字面),将其值减1,置于刚 
才那6个位的左方,最后在最前方附加上特定的6个位110110,即 
成为高半字符。以上所介绍的是UTF-16转换的观念,至于UTF-16的转 
换公式和还原公式,请详见ISO10646标准或Unicode标准。 

请特别注意,UTF-16系针对Unicode世界所设计的。也就是说,当 
因特网和大部分的计算机都已经采用Unicode了,UTF-16才可用来表 
现ISO10646第1~第14字面的字符码。很不幸的事实并非如此,现在 
是ASCII世界而非Unicode世界。当某一个Unicode离开温室(某个以 
Unicode为内码的操作系统或应用程序)之后,马上会被网络设备切 
成两个8位的字节,并严密检查是否有任何字节为C0句柄, 
至少数千个Unicoe将因此变得残缺不全。为了能让Unicode和ISO10646 
字符码能安然通行于ASCII世界,Unicode协会特别提出UTF-8以解决 
问题。UTF-8意即把原为32位的ISO10元码或原为16位的Unicode 
转换为多个8位的字节。 

利用UTF-8转码规则可将一个Unicode或ISO10646字符码转换成1~4 
个字节的编码,如【图四】所示。UTF-8的转换规则很简单:若原始 
字符码位于0000~007Fh(或0000-0000~0000-007Fh)的范围内,则 
直接截取最右8个位即可,转换结果其实就是ASCII码。若原始字符 
码大于007Fh(或0000-007Fh),亦即超出ASCII范围时,就必须转换 
成2~4个字节。UTF-8规定,以转换后第1字节起头连续设为"1" 
的标记位的数目表示转换成几个字节:110表示转换结果为2个位 
元组,1110表示3个字节,而11110则表示4个字节。至于跟随在标 
记位之后设为0的位,其在分隔标记位和字符码位。第2~第4 
字节起头两个位被设为10当做识别,剩下的6个位才做为字符码 
位使用。总计,2字节UTF-8码剩下11个字符码位,可用以转换 
0080~07FFh的原始字符码。3字节剩下16个字符码位,可用以转换 
0800~FFFFh的原始字符码。而4字节则剩下21个字符码位,可用来 
转换0001-0000~001F-FFFh(即ISO10646第1~第31字面)的原始字 
元码。请注意,虽然4个字节的UTF-8编码可包容1~3个字节的码, 
3个字节的编码可包容1~2个字节的码,以及2个字节的编码可包 
容1个字节的码,但是UTF-8规定转码时必须选择最短者。换言之, 
ASCCI区只能转换成单一位,0080~07FFh的原始字符码只能转换成2 
个位组长度,依此类推。 





参考数据: 

注1:ISO为国际标准组织(International Organization for
Standardization)的英文缩写;IEC为联合国下属国际电 
气技术委员会(International Electro-technical
Commission)的英文缩写;JTC1系由ISO和IEC双方协议共 
组的第一联合技术委员会(Join Technical Committee One),
负责制订与信息处理、信息技术相关的国际标准;JTC1/SC2 
为设于JTC1之下的第二分组委员会(Sub-Committee Two);
而JTC1/SC2/WG2则是JTC1/SC2之下的第二工作组(Working 
Group Two)。在我国,经济部标准检验局设有对应ISO/IEC
JTC1/SC2的组织,称为信息及通信国家标准起草委员会, 
而对应ISO/IEC JTC1/SC2/WG2者,称为中文信息标准分组
委员会。笔者同时担任这两个组织的委员。 

注2:C0句柄区指的是编码为0~31的32个句柄(其bit-8为0), 
而C1句柄区则是意指128~159的32个句柄(其bit-8为1)。 
关于C0和C1句柄详情,请参考ISO6429或CNS13479。 

注3:国内有人将Unicode译为「统一码」。 

注4:ISO10646-1为该标准的第一部份,正式名称为"ISO/IEC 10646-1:
Universal Multiple-Octet Coded Character Set - UCS - Part 1:
Architecture and Basic Multilingual Plane (BMP)",其
内容仅及于ISO10646的编码结构和第0字面的编码表。 

注5:ISO10646-2为该标准的第二部份,正式名称为"ISO/IEC 10646-2:
Universal Multiple-Octet Coded Character Set - UCS - Part 2:
CJK Unified Ideographs Supplementary Plane, General Scriptsand
Symbols Plane, General Purpose Plane",其内容主要包括
第1字面非表意文字、符号的编码表,以及第2字面中日韩认同 
表意文字和兼容表意文字的编码表。 

注6:在此,h表示16进制数字,每一数字的值为0~15,分别表示 
为0~9和 A(10)、B(11)、C(12)、E(13)、D(14)和F(15)。

注7:我国为WG2的观察员和IRG的会员体,本文作者目前为这两个 
组织的我国代表。

win10下面安装MTK USB VCOM 驱动 win10下面安装MTK USB VCOM 驱动1.概述2.驱动准备3.主要步骤3.1禁用win10对没有签名驱动限制3.2通过设备管理器安装mtk usb vcom驱动3.3工具版本问题4.禁用win10对没有签名的驱动限制4.1在设置中打开 更新和安全4.2进入恢复4.3在高级启动中点击立即重新启动4.4电脑重启后的几个动作5.通过设备管理器安装MTK USB VCOM 驱动5.1准备驱动5.... 阅读详情

相关推荐

Matlab PolySpace 静态分析实战:从零搭建嵌入式代码安全防线

本文详细介绍了如何使用Matlab PolySpace进行嵌入式代码静态分析,从环境搭建到实战配置,帮助开发者提前发现内存溢出、未初始化变量等潜在缺陷。通过案例分享和进阶技巧,展示如何提升代码安全性和可靠性,特别适合汽车ECU、医疗设备等安全关键系统开发。

weixin_33701617的博客 600

一文弄懂字符串编码

抽象字符是字符的抽象,它不仅包括了通常意义上的字符,还包含了计算机中的一些特殊字符。在计算机中,有许多的字符是空白的,甚至是不可打印的。比如ASCII字符集中的0,就是NULL,它就是一个抽象字符。另外控制字符也是一类抽象字符,它是指:对应到语言中一些用来处理文句的概念(类似排版)。例子为打印机或其它显示设备的命令,如Enter或Tab。

Code by persistence 1万+

英飞凌AURIX 2G 系列MCU关于外设模块EVADC的实现原理及对应MCAL(EB Tresos)配置项详细讲解

本文章讲述了英飞凌AURIX 2G系列MCU关于外设模块EVADC的实现原理及对应MCAL配置工具(EB)的配置项。

weixin_46176506的博客 6274

ASCII、Unicode和ISO10646

<br />ASCII<br />ASCII是用来表示英文字符的一种编码规范,每个ASCII字符占用1个字节(8bits)。ASCII编码可以表示的最大字符数是256个,范围是0~255。八位一般只用低7位(最高位为0),共128个其中包括了控制字符、数字、大小写字母和其他一些符号。而最高位为1的另128个字符被称为“扩展ASCII码”,一般用来存放英文的制表符、部分音标字符等等的一些其他符号。<br />Unicode字符集<br />Unicode标准定义了一个字符集和几种编码。<br />Unicod

csj50的专栏 1925

Intel SGX Explained

计算机中最主要的资源是CPU和内存,由操作系统和虚拟管理系统等系统软件来管理这些资源。

hanqdi_的博客 3455

腾讯会议录屏损坏修复:使用 recover_mp4 工具的完整解决方案

腾讯会议录屏损坏修复指南 当腾讯会议录屏因电脑蓝屏等意外导致MP4文件损坏时,可使用recover_mp4工具结合FFMPEG进行修复。操作步骤包括:1)准备相同参数正常视频作为参考;2)分析正常视频生成结构文件;3)分离损坏视频的音视频流;4)使用FFMPEG重新封装。该方法能有效修复因意外中断导致的视频索引损坏问题。修复前需将工具和文件放在同一目录下,并确保参考视频与损坏录屏的参数完全一致。

m0_62498496的博客 2626

GBK字库 ISO 10646 Unicode UTF8

GBK字库  ISO 10646  Unicode   GBK字库  ISO 10646  GBK 向下与 GB 2312 编码兼容,向上支持 ISO 10646.1 国际标准,是前者向后者过渡过程中的一个承上启下的标准。ISO 10646 是国际标准化组织 ISO 公布的一个编码标准,即 Universal Multilpe-Octet Coded Character Set(简称

MyDriverC 3119

Pwntools不只是PWN:用它写个自动化Fuzz脚本,挖掘Linux命令行工具漏洞

本文探讨了如何利用Pwntools构建自动化Fuzz脚本,挖掘Linux命令行工具中的漏洞。通过详细的代码示例和实战案例,展示了Pwntools在Fuzzing中的高效性和灵活性,特别适合快速验证特定场景的安全问题。文章还提供了进阶技巧和避坑指南,帮助安全研究人员快速上手并提升测试效率。

weixin_28718345的博客 221

计算机ucs汉字编码,字符编码基础知识 - Unicode,UCS,GBK,GB2312,UTF-8

字符编码基础知识- Unicode,UCS,GBK,GB2312,UTF-8最近遇到一个Unicode和UTF-8关系比较的问题,之前在处理中文显示时也遇到过类似的问题,于是花时间学习了一下,在此做个总结归纳,借以加深理解。(本文多数内容均来自互联网,特此申明。)一、相关概念1、UCS/ISO 10646ISO组织制定的国际标准ISO 10646定义了通用字符集(Universal Charact...

weixin_32506761的博客 4820

海康VisionMaster与西门子PLC1200进行S7通信

通信是连通算法平台和外部设备的重要渠道,在海康VisionMaster算法平台中既支持外部数据的读入也支持数据的写出,当通信构建起来以后既可以把软件处理结果发送给外界,又可以通过外界发送字符来触发相机拍照或者软件运行。 本文以西门子PLC1200作为外部设备为例,讲解海康VisionMaster与西门子PLC1200进行S7通信。......

haier123888的博客 1万+

MIC:最大信息系数

目录 1. 概念 1.1 MIC 1.2 互信息 2.MIC的优点 3. 算法原理 3.1 MIC公式原理 3.2MIC计算步骤 (1)计算最大互信息值 (2)对最大的互信息值进行归一化 (3)选择不同尺度下互信息的最大值作为MIC值 4. 代码实现 6. 其他方法 1. 概念 1.1 MIC MIC,即(Maximal Information...

满腹的小不甘 5万+

对字符编码与Unicode,ISO 10646,UCS,UTF8,UTF16,GBK,GB2312的理解

——————————- Unicode: unicode.org制定的编码机制, 要将全世界常用文字都函括进去. 在1.0中是16位编码, 由U+0000到U+FFFF. 每个2byte码对应一个字符; 在2.0开始抛弃了16位限制, 原来的16位作为基本位平面, 另外增加了16个位平面, 相当于20位编码, 编码范围0到0×10FFFF. UCS: ISO制定的

chentaocba的专栏 2366

【RV1126/RV1109学习笔记】#基础篇#(2)基础入门使用

一、调试方式 1、串口调试 2、ADB调试 3、网络调试 二、基础外设使用 音频使用(aplay,arecord,amixer) 三、WIFI连接 四、屏幕背光控制

丨晋丨 1856

unicode与iso 10646(UCS)的区别

什么是 Unicode?历史上, 有两个独立的, 创立单一字符集的尝试. 一个是国际标准化组织(ISO) 的 ISO 10646 项目, 另一个是由(一开始大多是美国的)多语言软件制造商组成的协会组织的 Unicode 项目 . 幸运的是, 1991年前后, 两个项目的参与者都认识到, 世界不需要两个不同的单一字符集. 它们合并双方的工作成果, 并为创立一个单一编码表而协同工作. 两个项目仍都存在并独立地公布各自的标准, 但 Unicode 协会和 ISO/IEC JTC1/SC2 都同意保

1403

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Unicode,ISO-10646,UTF8编码技术

Unicode,ISO-10646,UTF8编码技术 什么是Unicode?  接触过电脑的朋友或多或少都碰到过乱码的问题,比如说在繁体系统下浏览一个简体或日文的网站, 显示的是一堆看不懂的中文字,为什么会这样呢?  那是因为现在的中日韩内码都是使用2个bytes来表示一个字符,由于各有各的编码方式,所以就会

WuOu的专栏 3520

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

【转】对字符编码与Unicode,ISO 10646,UCS,UTF8,UTF16,GBK,GB2312的理解[holen@donews]

对字符编码与Unicode,ISO 10646,UCS,UTF8,UTF16,GBK,GB2312的理解 -------------------------------Unicode: unicode.org制定的编码机制, 要将全世界常用文字都函括进去.在1.0中是16位编码, 由U+0000到U+FFFF. 每个2byte码对应一个字符; 在2.0开始抛弃了16位限制, 原来的16

我是个程序员 3508

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

❥关于C++之ASCII/Unicode/ISO10646及wchar_t/char16_t/char32_t

ASCII、Unicode、ISO 10646 Unicode提供了一种表示各种字符集的解决方案——为大量字符和符号提供标准数值编码,并根据类型将它们分组。 例如,ASCII码为Unicode的子集,因此在这两种系统中,美国的拉丁字符(如A和Z)的表示相同。然而,Unicode还包含其他拉丁字符,如欧洲语言使用的拉丁字符、来自其他语言(如希腊语、西里尔语、希伯来语、切罗基语、阿拉伯语、泰语和孟加拉语)中的字符以及象形文字(如中国和日本的文字)。到目前为止,Unicode可以表示109000多种符号和90多个

itzyjr的专栏 1210

UTF-8, a transformation format of Unicode and ISO 10646

Network Working Group F. Yergeau Request for Comments: 2044 Alis Technologie

hongweigg的专栏 1444

ES2018 学习笔记(4)Unicode 和 ISO 10646

一致性 A conforming implementation of ECMAScript must interpret source text input in conformance with the latest version of the Unicode Standard and ISO/IEC 10646. Unicode和I...

weixin_33697898的博客 212

对字符编码Unicode,ISO 10646,UCS,UTF8,UTF16的理解

Unicode: unicode.org制定的编码机制, 要将全世界常用文字都函括进去. 在1.0中是16位编码, 由U+0000到U+FFFF. 每个2byte码对应一个字符; 在2.0开始抛弃了16位限制, 原来的16位作为基本位平面, 另外增加了16个位平面, 相当于20位编码, 编码范围0到0x10FFFF. UCS: ISO制定的ISO10646标准所定义的 Universal Char

Ludwigqiu的专栏 1202

UTF-1是一种将ISO 10646 / Unicode转化成字节流的方式。

是一种将ISO 10646 /转化成字节流的方式。由于其本身的设计问题,如果自中间的一个字符开始解码,UTF-1將無法重新同步(這造成擷取的困難),而且UTF-1也沒辦法進行可靠的字节搜索。又因为UTF-1使用的除数不是2的幂,所以转化得也相当缓慢。由于以上这些问题,UTF-1从来没有得到广泛採用,并已被所取代。

weixin_40191861的博客 176
上一篇: GBK、BIG5、CJK、HZ的内码体系
下一篇: 比尔•盖茨描绘.NET第二阶段和Web Service的未来
AngelGavin
博客等级 码龄24年 2粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值