UTF有UTF-8、UTF-16、UTF-32三种编码,8、16、32的区分实际上就是对于UTF以多少位为单元进行编码,UTF-8是以8位二进制即一个字节为单元,UTF-16以两个字节为单元,UTF-32以四个字节为单元,通过编码进行传输。 UTF-8的传输规则实际上是这样的: 对于单字节的字符,字节码第一位为0,后7位为该字符的Unicode码,因此对于非扩展的ASCII码,其编码与UTF-8相同。 对于n个字节(n>1)的字符,字节码的第一个字节前n位为1,n+1位为0,后面字节前两位为10,其余位为该字符的Unicode码。 UCS-2与UTF-8的具体传输规则如下(左UCS-2右UTF-8): 0000– 007F—> 0xxx xxxx 1字节 0080– 07FF—>110x xxxx 10xx xxxx 2字节 0800– FFFF—>1110 xxxx 10xx xxxx 10xx xxxx 3字节 依据以上规则就可以进行Unicode与UTF-8的转换。 比如中文字符”啊”的Unicode码为\u554A,将其转换为二进制为0101 0101 0100 1010,根据其Unicode码所在区为0800 – FFFF,将二进制码依次从右往左代入x得到1110 0101 1001 0101 1000 1010换为16进制码则为E5 95 8A,此3字节码即为中文字符”啊”的UTF-8码。 中文字符为2字节,而在进行中文输入法时有些字符如空格” ”依然只占一个字节,或者需切换输入法来代替,因此在进行某些中文字符串操作时对该字符应该采用两个相同的1字节字符代替。 如数据库进行查询操作时的查询某个表中第二个字为”啊”的内容: SELECT value FROM tabel WHERE LIKE ‘__啊%’; 此中用了两个单字节的'_'来表示一个中文字符即是如此。 还有个小知识,编码的存储方式有两种,分别为Big Endian和Little Endian。 此两种存储方式的区别在于,对于双字节的编码,其两组16进制码是谁前谁后问题,按照编码方式正序存储,则为Big Endian,反序存储则为Little Endian。
各国条形码开头:美国、加拿大00-09 ,以色列729 ,中国大陆690-692, 中外合资条码:693 ,丹麦57 ,委内瑞拉759 ,挪威70 ,日本45-49 ,乌拉圭773,瑞士76 ,比利时/卢森堡54 ,玻利维亚773,西班牙84 ,芬兰64 ,智利780 ,奥地利90-91 ,瑞典73 ,厄瓜多尔786 ,新西兰94 ,意大利80-83 ,古巴850 ,斯洛文尼亚383 ,荷兰87 ,捷克859 ,德国400-440 ,澳大利亚93 ,韩国880, 台湾471 ,保加利亚380 ,新加坡888 ,拉脱维亚475 ,克罗地亚385 ,马来西亚893 ,斯里兰卡479 ,俄罗斯460-469 ,越南977 ,香港489 ,爱沙尼亚474 ,墨西哥750 ,塞浦路斯529 ,立陶宛477, 哥伦比亚770 ,马耳他535 ,菲律宾480 ,秘鲁775 ,葡萄牙560 ,希腊520 ,阿根廷779 ,波兰590 ,马其顿531 ,巴拉圭784 ,匈牙利599 ,爱尔兰539, 巴西789 ,毛里求斯609, 冰岛569 ,斯洛伐克858, 阿尔巴尼亚613 ,罗马尼亚594 ,南斯拉夫860 ,南非600-601 ,泰国885 ,法国30-37 ,摩洛哥611 ,印度890, 英国50 ,土耳其619、869, 印度尼西亚899。
条形码的具体作用:条形码为国际通用产品符号。为了适应电脑管理,在一些产品销售包装上加印供电子扫描用的符号条码。这种符号条码各国统一编码,它可使商店的管理人员随时了解商品的销售动态,简化管理手续,节约管理费用。
EAN(国际物品编码)的商品条形码有标准版(EAN—13)和缩短版(EAN—8)两个板本,其中EAN—13为13位编码,EAN—8为8位编码。EAN—13的组成有条形码符号和字符代码两部分。代码结构如下:(注:以下所写的位数从左到右数起 )
⑴前缀码(2~3位)是国家或地区的独有代码,由EAN总部指定分配。
⑵企业代码(4~5位)由本国或地区的条形码编码机构分配,我国由中国物品编码中心统一分配。
⑶产品代码(5位)由生产企业自行分配。
⑷校验码(1位)是校验条形码使用过程中的扫描正误而设置的特殊编码,其数字由上述三部分与规定的储运标志确定。
EAN—8主要用于包装体积小的产品上,其前缀码(2~3位)、产品代码(4~5位)、校验码(1位)的内容同EAN—13