icod

阅读 / 问答 / 标签

unicode 是几个字节?

彻底搞定各种编码ASCII、ANSI、GBK、utf

插入unicode控制字符里面的那些英文都是什么意思?

来说有些类似于字符的数组。在java这个面向对象的语言中,字符串,无论是常量还是变量,都是用类的对象来实现的。程序中需要用到的字符串可以分为两大类:(1)、一类时创建之后不再做修改和变动的字符串常量;(2)、另一类时创建之后允许再做修改和变化的字符串变量。对于字符串常量,由于程序中经常需要对它做比较、搜索之类的操作,所以通常把它放在一个具有一定名称的对象之中,由程序对该对象完成上述操作。在java中,存放字符串常量的对象属于String类。对于字符串变量,由于程序中经常需要对它做添加、插入、修改之类的操作,所以一般都存放在StringBuffer类的对象中。1 String类字符串常量用String类的对象表示。在前面的程序中,以多次使用了字符串常量。这里首先强调一下字符串常量与字符常量不同。字符常量是用单引号括起的单个字符,例如"a"," "等。而字符串常量是用双引号括起的字符序列,例如”a”,” ”,”Hellow ”等。Java中的字符串常量,表面上与其他语言中的字符串常量没有什么不同,但在具体实现上却有较大的差异。Java的字符串常量,通常是作为String类的对象存在,由专门的属性来规定它的长度。实际上,对于所有用双引号括起的字符串常量,系统会把它创建一个无名的String类型对象。 (1)、创建字符串常量string对象由于string类的对象表示的是字符串常量,所以一般情况下,一个String字符串一经创建,无论其长度还是其内容,都不能够再更改了。因而,在创建String对象时,通常需要向String类的构造函数传递参数来指定所创建的字符串内容。下面简单列出string类的构造函数及其使用方法。(1)pulic String()这个构造函数用来创建一个空的字符串常量。(2)public String(String value)这个构造函数利用一个已经存在的字符串常量创建一个新的String对象,该对象的内容与给出的字符串常量一致。这个字符串常量可以是另一个String对象,也可以是一个用双引号括起来的直接常量。(3)public string(stringBuffer buffer)这个构造函数利用已经存在的字符数组的内容初始化新建的String对象。创建string对象与创建其他类的对象一样,分为对象的声明和对象的创建两步。这两步可以分成两个独立的语句,也可以在下一个语句中完成。例如下面的句子仅声明一个String对象s:String s;此时s的值为null,要想使用s ,还必须为它开辟内存空间。String s=new String ("ABC");这样,通过调用上面的第二个构造函数,字符串s被置为"ABC"。上述两个语句也可以合并成一个语句如下:String s=new String ("ABC");在java中,还有一种非常特殊而常用的创建String对象的方法。这种方法直接利用双引号括起来的字符串常量为新的String对象“赋值”:String s="ABC";其实这里的“赋值”只是一种特殊的省略写法,前面已经提到,java系统会自动为每一用双引号括起来的字符串常量创建一个String对象,所以这个语句的实际含义与效果与前一个句子完全一致。2、字符串产量的操作String类中所包含的字符串常量的操作很多,如:求字符串的长度。具体方法如下:public int length();用它可以获得当前字符串对象中字符的个数。例如运行下面的代码:String s="Hello!"System.out.println(s.length());屏幕将显示6,因为字符串"Hello!"的长度为6。需要注意的是在java中,因为每个字符都是占用16个比特的Unicode字符,所以汉字与英文或其他符号相同,也只用一个字符表示就足够了。如果把上面的字符串替换为“近来身体好吗”,则字符串的长度不变,仍然是6。3、判断字符串的前缀和后缀public boolean startsWith(String prefix);public boolean endsWith(String prefix);这两个方法可以分别判断当前字符串的前缀和后缀是否是字符子串。区分字符串的前缀及后缀在某些情况下是非常有用的操作。又例如,居民身份证号码的最后一位代表了居民的性别,奇数为男性,偶数为女性。假设String对象s是某位居民的身份证号码,则下面语句将判断出它的性别:if(s.endsWith("0")||s.endsWith("2")||s.endsWith("4")||s.endsWith("6")||s.endsWith("8")){ System.out.println("此人是女性");}startWith和endWith这两个方法的一个突出优点是不限制所判断的前缀、后缀的长度。例如前一个例子中若需判断的前缀从“6278”变换到“627”,则原方法仍然有效,不需要更改程序。4、字符串中单个字符的查找public int indexOf(int ch);public int indexOf(int ch,int fromIndex);上述两个方法查找当前字符串中某个特定字符出现的位置。第一个方法查找字符ch在当前字符串中的一次出现的位置,即从头向后查找,并返回字符ch出现的位置。如果找不到则返回-1。例如下面的语句将把值0赋给整型量idx:String s="java是面向对象的语言,javaScript是脚本语言";int idx=s.indexOf((int)"J");第二个方法查找字符ch时,在当前字符串中自fromIndex位字符之后向后查找,并返回该字符首次出现的位置。下面语句将查找处指定字符在字符串中的所有出现位置:String s="java是面向对象的语言,javaScript是脚本语言";int i=-1;do{ i=s.indexOf((int)"a",i++); system.out.print(i+" ");}while(i!=-1);运行结果是:1 3 14 16 -1下面的两个方法也是查找字符串中单个字符的方法,不同的是它们从字符串的结尾向字符串的开始部分查找,这里就不再举例了。public int lastIndexOf(int ch);public int lastIndexOf(int ch,int fromIndex);5、字符串中子串的查找public int indexOf(string str);public int indexOf(string str,int fromIndex);public int lastIndexOf(string str);public int lastIndexOf(string str,int fromIndex);在字符串中查找字符子串与在字符串中查找单个字符非常相似,也有四种可供选择的方法,它就是把查找单个字符的四个方法中指定的字符ch换成了指定字符串str。下面的例子从字符串尾部向前,顺序查找所有子串出现的位置:String s="java是面向对象的语言,javaScript是脚本语言";String sub="语言";for (int i=s.length();i!=-1){ i=s.lastIndexOf(sub,i-1); system.out.print(i+" ");}上述程序运行的结果是:26 10 -1另外,还定义有获取字符串中的某个字符的方法:public char charAt(int index);这个方法获取当前字符串第index个字符并返回这个字符(index从0算起)。6、比较两个字符串public int conpareTo(string anotherString);public boolean equals(Object anObject);public boolean equalsIgnoreCase(string anotherString);String类中有三个方法可以比较两个字符串是否相同。方法equals是重载Object类的方法,它将当前字符串与方法的参数列表中给出的字符串乡比较,若两字符串相同,则返回其真值,否则返回假值。方法equalsIgnoreCase与方法equals的用法相似,只是它比较字符串时不计字母大小写的差别。例如,在下面的语句中,分别用equals方法和equalsIgnoreCase方法比较两字符串,则在第一语句中由于区分大小写,所以比较结果为假,而在第二个语句中由于不区分大小写,所以比较结果为真:string s1="Hello!World"; s2="hello!world";boolean b1=s1.equals(s2);boolean b2=s1.equalsIgnoreCase(s2);比较字符串的另一个方法是compareTo(),这个方法将当前字符串与一个参数字符串乡比较,并返回一个整型量。如果当前字符串与参数字符串完全相同,则compareTo()方法返回0;如果当前字符串按字母序大与参数字符串,则compareTo()方法返回一个大于0的整数;反之,若compareTo()方法返回一个小于0的整数,则说明当前字符串按字母序小与参数字符串。在下面的例子中,compareTo比较了三对字符串。String s="abc",s1="aab",s2="abd",s3="abc";int i,j,k;i=s.compareTo(s1);j=s.compareTo(s2);k=s.compareTo(s3);语句执行的结果是分别给i,j,k三个变量赋值1,-1,0。7、连接字符子串public String concat(String str);这个方法将参数字符串连接在当前字符串的尾部,并返回这个连接而成的长字符串,但是当前字符串本身并不改变。如下面的例子:String s="Hello!";System.out.println(s.concat("World!"));System.out.println(s);运行结果是:Hello!World! //连接后的新字符串Hello! //原字符串没有改变2 StringBufferjava中用来实现字符串的另一个类是 StringBuffer类,与实现字符串常量的String类不同,StringBuffer类的对象可以扩充和修改的字符串变量。(1)、创建字符串变量-- StringBuffer对象由于 StringBuffer表示的事可扩充、修改的字符串,所以在创建 StringBuffer类的对象时并不一定要给出初值。 StringBuffer类的构造函数有以下几个:public StringBuffer();public StringBuffer(int length);public StringBuffer(String str);第一个函数创建了一个空的 StringBuffer对象。第二个函数给出了新建的 StringBuffer对象的长度,第三个函数利用一个已经存在的字符串String对象来初始化StringBuffer对象。下面语句是用三种不同的方法创建字符串的例子。StringBuffer MyStrBuff1=new StringBuffer();StringBuffer MyStrBuff2=new StringBuffer(5); StringBuffer MyStrBuff3=new StringBuffer("Hello,Guys!");需要注意的是,其中第一个对象MyStrBuff1并没有相应的内存单元,需扩充之后才能使用。(2)、字符串变量的扩充、修改与操作StringBuffer类有两组用来扩充其中所包含的字符的方法,分别是:public StringBuffer append(参数对象类型 参数对象名);public StringBuffer insert(int 插入位置,参数对象类型 参数对象名);append方法将指定的参数对象转化成字符串,附加在StringBuffer字符串之后,而insert方法则在指定的位置插入给出的参数对象所转化而得的字符串。附加或插入的参数对象可以使各种数据类型的数据,如int,double,char,String等。参看下面的例子:StringBuffer MyStrBuff1=new StringBuffer();MyStrBuff1 append("Hello,Guys!");System.out.println(MyStrBuff1.toString());MyStrBuff1.insert(6,30);System.out.println(MyStrBuff1.toString());上述执行的结果是:Hello,Guys!Hello,30 Guys!需要注意的是,若希望StringBuffer在屏幕上显示出来,则必须首先调用toString方法把它变成字符串常量,因为PrintStream的方法println()不接受StringBuffer类型的参数。StringBuffer还有一个较有用的方法来修改字符串:public void setCharAt(int index,char ch);这个方法可以将指定位置的字符用给定的另一个字符来替换。例如下面的语句将愿意为“山羊”的字符串变成“外套”:StringBuffer MyStrBuff=new StringBuffer("goat");MyBuff.setCharAt(0,"c");(3)、字符串的赋值和加法字符串是经常使用的数据类型,为了编程方便,java编译系统中引入了字符串的加法和赋值。参看下面的例子:String MyStr="Hello,";MyStr=MyStr+"Guys!";这两个语句出看似乎有问题,因为String是可变的字符串常量,实际上它们是合乎语法规定的,分别相当于:String MyStr=new StringBuffer().append("Hello").toString();MyStr=new StringBuffer().append(MyStr).append("Guys!").toString();由于这种赋值和加法的简便写法非常方便实用,所以在实际编程中用的很多。3 Java Application命令行参数Java Application是用命令行来启动的,命令行参数就成为向Java Application传入数据的常用而有效的手段。现通过下例来考察如何使用命令行参数。见例程UseComLParameter.java该例的功能是从命令行利用命令行参数读入两个整数,再把它们相乘后输出。假设将上述程序保存为一个 UseComLParameter.java文件,经编译后生成 UseComLParameter.class文件,则执行这个程序的命令行应该是如下格式:java UseComLParameter 52 -4这里,java是用来运行字节码的java解释器,UseComLParameter是所运行的字节码文件名(即所执行的类名),52和-4分别是两个命令行参数。可以看出,java的命令行参数跟在命令行主类名的后面,参数之间用空格分隔。如果命令行参数本身就带有空格,则可以用双引号将整个参数括起来以示区别,例如“a dog”就是一个完整的命令行参数。Java Application程序中用来接受命令行参数的数据结构的是main()方法的参数args[],这个参数是一个字符串数组,其中的每个元素都是一个字符串,这些字符串来自于用户与类名同时输入的命令行参数,每个字符串保存一个命令行参数供程序使用,用户输入了几个命令行参数,数组args[]就有几个元素。另外需要注意的是,所有命令行参数都以字符串String类型的对象形式存在,如果希望把参数作为其他类型的数据使用,则还需要作相应的类型转换。 可见,命令行参数是提供该整个程序的参数,每次运行时使用不同的命令行参数,就有不同的运行结果;使用命令行参数可以提高程序的灵活性和适应性。不过在使用命令行参数时要注意数组越界问题,程序运行是系统将自动检查用户输入了多少个命令行参数并逐个地保存在args[]中,但是如果程序不检查用户到底数入了多少个命令行参数而直接访问args[]某下标地数组元素,则可能造成数组越界异常。

安装UG10.0,许可证安装好后点击Install NX时Stup Launcher Unicod

Android是一钟基于Linux的自由及开放源代码的操作系统。主要使用于移动设备。如智能手机平板电脑由谷歌和开放手机联盟领导及开发。

许可证安装好后点击Install NX时Stup Launcher Unicode停止运行怎么解决

1、先声明 盗版 不支持。 请使用正版2、认真看破解说明。删了重新装。看破解说明 重要的事 重复说三遍3、最好 重装系统 ghost备份 后 在装。这些盗版软件很难装的。因为 你用的基本全是盗版

怎么让易语言编辑框支持Unicode编码

.版本 2.程序集 窗口程序集1.子程序 __启动窗口_创建完毕.局部变量 文本, 文本型文本 = Unicode编码 (“易语言是全宇宙最好的语言!PPW是全银河系最屌的编程工具!”, )编辑框1.内容 = Unicode解码 (文本)" 结束 ().子程序 Unicode编码, 文本型.参数 文本, 文本型.参数 转换非中文, 逻辑型, 可空.局部变量 JS, 对象, , , 0. JScript 1. VBScriptJS.创建 (“ScriptControl”, )JS.写属性 (“Language”, “JScript”)JS.文本方法 (“ExecuteStatement”, “function zu(v,onlyzw){var v=v.split("");var ascii="";for(var i=0;i<v.length;i++){var code=Number(v[i].charCodeAt(0));if(onlyzw||code>127){var Ascii=code.toString(16);Ascii=new String("0000").substring(Ascii.length,4)+Ascii;ascii+="\u"+Ascii}else{ascii+=v[i]}}return ascii}”)返回 (JS.文本方法 (“Run”, “zu”, 文本, 转换非中文)).子程序 Unicode解码, 文本型.参数 文本, 文本型.局部变量 JS, 对象, , , 0. JScript 1. VBScriptJS.创建 (“ScriptControl”, )JS.写属性 (“Language”, “JScript”)JS.文本方法 (“ExecuteStatement”, “function uz(v){var r=v.match(/\u[0-9a-fA-F]{4}/g);if(r==null){return""}for(var i=0;i<r.length;i++){v=v.replace(r[i],unescape(r[i].replace("\u","%u")))}return v};”)返回 (JS.文本方法 (“Run”, “uz”, 文本))

什么是Unicode,什么是UTF-8

一直在编码方面要求不是很高,所以对Unicode和UTF-8也不甚了解。 最近偶然翻到一篇UTF-8的文章,感觉解释的非常繁杂,因此才想到重新写一篇简单易懂一点的。 首先说明一下现在常用的一些编码方案: 1、在中国,大陆最常用的就是GBK18030编码,除此之外还有GBK,GB2312,这几个编码的关系是这样的: 最早制定的汉字编码是GB2312,包括6763个汉字和682个其它符号 ;95年重新修订了编码,命名GBK1.0,共收录了21886个符号。 之后又推出了GBK18030编码,共收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字,现在WINDOWS平台必需要支持GBK18030编码。 按照GBK18030、GBK、GB2312的顺序,3种编码是向下兼容,同一个汉字在三个编码方案中是相同的编码。 2、台湾,香港等地使用的是BIG5编码3、日本:SJIS编码 如果把各种文字编码形容为各地的方言,那么Unicode就是世界各国合作开发的一种语言。 在这种语言环境下,不会再有语言的编码冲突,在同屏下,可以显示任何语言的内容,这就是Unicode的最大好处。 那么Unicode是如何编码的呢?其实非常简单: 就是将世界上所有的文字用2个字节统一进行编码。可能你会问,2个字节最多能够表示65536个编码,够用吗? 韩国和日本的大部分汉字都是从中国传播过去的,字型是完全一样的。 比如:“文”字,GBK和SJIS中都是同一个汉字,只是编码不同而已。 那样,像这样统一编码,2个字节就已经足够容纳世界上所有的语言的大部分文字了。 Unicode的学名是"Universal Multiple-Octet Coded Character Set",简称为UCS。 现在用的是UCS-2,即2个字节编码,而UCS-4是为了防止将来2个字节不够用才开发的。UCS-2也称为基本多文种平面。 UCS-2转换到UCS-4只是简单的在前面加2个字节0。 UCS-4则主要用于保存辅助平面,例如Unicode 4.0中的第二辅助平面 20000-20FFF - 21000-21FFF - 22000-22FFF - 23000-23FFF - 24000-24FFF - 25000-25FFF - 26000-26FFF - 27000-27FFF - 28000-28FFF - 29000-29FFF - 2A000-2AFFF - 2F000-2FFFF 总共增加了16个辅助平面,由原先的65536个编码扩展至将近100万编码。 那么既然统一了编码,如何兼容原先各国的文字编码呢? 这个时候就需要codepage了。 什么是codepage?codepage就是各国的文字编码和Unicode之间的映射表。 比如简体中文和Unicode的映射表就是CP936。以下是几个常用的codepage,相应的修改上面的地址的数字即可: codepage=936 简体中文GBK codepage=950 繁体中文BIG5 codepage=437 美国/加拿大英语 codepage=932 日文 codepage=949 韩文 codepage=866 俄文 codepage=65001 unicode UFT-8 最后一个65001,据个人理解,应该只是一个虚拟的映射表,实际只是一个算法而已。 从936中随意取一行,例如: 0x9993 0x6ABD #CJK UNIFIED IDEOGRAPH 前面的编码是GBK的编码,后面的是Unicode。 通过查这张表,就能简单的实现GBK和Unicode之间的转换。 现在明白了Unicode,那么UTF-8又是什么呢?又为什么会出现UTF-8呢? ASCII转换成UCS-2,只是在编码前插入一个0x0。用这些编码,会包括一些控制符,比如 或 /,这在UNIX和一些C函数中,将会产生严重错误。因此可以肯定,UCS-2不适合作为Unicode的外部编码。 因此,才诞生了UTF-8。那么UTF-8是如何编码的?又是如何解决UCS-2的问题呢? 例: E4 BD A011100100 10111101 10100000 这是“你”字的UTF-8编码 4F 6001001111 01100000 这是“你”的Unicode编码 按照UTF-8的编码规则,分解如下:xxxx0100 xx111101 xx100000 把除了x之外的数字拼接在一起,就变成“你”的Unicode编码了。 注意UTF-8的最前面3个1,表示整个UTF-8串是由3个字节构成的。 经过UTF-8编码之后,再也不会出现敏感字符了,因为最高位始终为1。 以下是Unicode和UTF-8之间的转换关系表: U-00000000 - U-0000007F: 0xxxxxxx U-00000080 - U-000007FF: 110xxxxx 10xxxxxx U-00000800 - U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx U-00010000 - U-001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx U-00200000 - U-03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx U-04000000 - U-7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx Unicode编码转换到UTF-8,简单的把Unicode字节流套到x中就变成UTF-8了。

Unicode 和 UTF-8 有何区别

=============很久以前保存的,别人写的但是很明了=============很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为”字节“。再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为”计算机“。开始计算机只在美国用。八位的字节一共可以组合出256(2的8次方)种不同的状态。 他们把其中的编号从0开始的32种状态分别规定了特殊的用途,一但终端、打印机遇上约定好的这些字节被传过来时,就要做一些约定的动作。遇上0×10, 终端就换行,遇上0×07, 终端就向人们嘟嘟叫,例好遇上0x1b, 打印机就打印反白的字,或者终端就用彩色显示字母。他们看到这样很好,于是就把这些0×20以下的字节状态称为”控制码”。他们又把所有的空 格、标点符号、数字、大小写字母分别用连续的字节状态表示,一直编到了第127号,这样计算机就可以用不同字节来存储英语的文字了。大家看到这样,都感觉很好,于是大家都把这个方案叫做 ANSI 的”Ascii”编码(American Standard Code for Information Interchange,美国信息互换标准代码)。当时世界上所有的计算机都用同样的ASCII方案来保存英文文字。后来,就像建造巴比伦塔一样,世界各地的都开始使用计算机,但是很多国家用的不是英文,他们的字母里有许多是ASCII里没有的,为了可以在计算机保存他们的文字,他们决定采用 127号之后的空位来表示这些新的字母、符号,还加入了很多画表格时需要用下到的横线、竖线、交叉等形状,一直把序号编到了最后一个状态255。从128到255这一页的字符集被称”扩展字符集“。从此之后,贪婪的人类再没有新的状态可以用了,美帝国主义可能没有想到还有第三世界国家的人们也希望可以用到计算机吧!等中国人们得到计算机时,已经没有可以利用的字节状态来表示汉字,况且有6000多个常用汉字需要保存呢。但是这难不倒智慧的中国人民,我们不客气地把那些127号之后的奇异符号们直接取消掉, 规定:一个小于127的字符的意义与原来相同,但两个大于127的字符连在一起时,就表示一个汉字,前面的一个字节(他称之为高字节)从0xA1用到 0xF7,后面一个字节(低字节)从0xA1到0xFE,这样我们就可以组合出大约7000多个简体汉字了。在这些编码里,我们还把数学符号、罗马希腊的字母、日文的假名们都编进去了,连在 ASCII 里本来就有的数字、标点、字母都统统重新编了两个字节长的编码,这就是常说的”全角”字符,而原来在127号以下的那些就叫”半角”字符了。 中国人民看到这样很不错,于是就把这种汉字方案叫做 “GB2312“。GB2312 是对 ASCII 的中文扩展。但是中国的汉字太多了,我们很快就就发现有许多人的人名没有办法在这里打出来,特别是某些很会麻烦别人的国家领导人。于是我们不得不继续把 GB2312 没有用到的码位找出来老实不客气地用上。 后来还是不够用,于是干脆不再要求低字节一定是127号之后的内码,只要第一个字节是大于127就固定表示这是一个汉字的开始,不管后面跟的是不是扩展字符集里的内容。结果扩展之后的编码方案被称为 GBK 标准,GBK包括了GB2312 的所有内容,同时又增加了近20000个新的汉字(包括繁体字)和符号。 后来少数民族也要用电脑了,于是我们再扩展,又加了几千个新的少数民族的字,GBK扩成了 GB18030。从此之后,中华民族的文化就可以在计算机时代中传承了。 中国的程序员们看到这一系列汉字编码的标准是好的,于是通称他们叫做 “DBCS“(DoubleByte Charecter Set 双字节字符集)。在DBCS系列标准里,最大的特点是两字节长的汉字字符和一字节长的英文字符并存于同一套编码方案里,因此他们写的程序为了支持中文处理,必须要注意字串里的每一个字节的值,如果这个值是大于127的,那么就认为一个双字节字符集里的字符出现了。那时候凡是受过加持,会编程的计算机僧侣们都要每天念下面这个咒语数百遍: “一个汉字算两个英文字符!一个汉字算两个英文字符……”因为当时各个国家都像中国这样搞出一套自己的编码标准,结果互相之间谁也不懂谁的编码,谁也不支持别人的编码,连大陆和台湾这样只相隔了150海里,使用着同一种语言的兄弟地区,也分别采用了不同的 DBCS 编码方案——当时的中国人想让电脑显示汉字,就必须装上一个”汉字系统”,专门用来处理汉字的显示、输入的问题,但是那个台湾的愚昧封建人士写的算命程序就必须加装另一套支持 BIG5 编码的什么”倚天汉字系统”才可以用,装错了字符系统,显示就会乱了套!这怎么办?而且世界民族之林中还有那些一时用不上电脑的穷苦人民,他们的文字又怎么办? 真是计算机的巴比伦塔命题啊!正在这时,大天使加百列及时出现了——一个叫 ISO (国际标谁化组织)的国际组织决定着手解决这个问题。他们采用的方法很简单:废了所有的地区性编码方案,重新搞一个包括了地球上所有文化、所有字母和符号的编码!他们打算叫它”Universal Multiple-Octet Coded Character Set”,简称 UCS, 俗称 “unicode“。unicode开始制订时,计算机的存储器容量极大地发展了,空间再也不成为问题了。于是 ISO 就直接规定必须用两个字节,也就是16位来统一表示所有的字符,对于ASCII里的那些“半角”字符,unicode包持其原编码不变,只是将其长度由原来的8位扩展为16位,而其他文化和语言的字符则全部重新统一编码。由于”半角”英文符号只需要用到低8位,所以其高8位永远是0,因此这种大气的方案在保存英文文本时会多浪费一倍的空间。这时候,从旧社会里走过来的程序员开始发现一个奇怪的现象:他们的strlen函数靠不住了,一个汉字不再是相当于两个字符了,而是一个!是的,从unicode开始,无论是半角的英文字母,还是全角的汉字,它们都是统一的”一个字符“!同时,也都是统一的”两个字节“,请注意”字符”和”字节”两个术语的不同,“字节”是一个8位的物理存贮单元,而“字符”则是一个文化相关的符号。在unicode中,一个字符就是两个字节。一个汉字算两个英文字符的时代已经快过去了。unicode同样也不完美,这里就有两个的问题,一个是,如何才能区别unicode和ascii?计算机怎么知道三个字节表示一个符号,而不是分别表示三个符号呢?第二个问题是,我们已经知道,英文字母只用一个字节表示就够了,如果unicode统一规定,每个符号用三个或四个字节表示,那么每个英文字母前都必然有二到三个字节是0,这对于存储空间来说是极大的浪费,文本文件的大小会因此大出二三倍,这是难以接受的。unicode在很长一段时间内无法推广,直到互联网的出现,为解决unicode如何在网络上传输的问题,于是面向传输的众多 UTF(UCS Transfer Format)标准出现了,顾名思义,UTF-8就是每次8个位传输数据,而UTF-16就是每次16个位。UTF-8就是在互联网上使用最广的一种unicode的实现方式,这是为传输而设计的编码,并使编码无国界,这样就可以显示全世界上所有文化的字符了。UTF-8最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度,当字符在ASCII码的范围时,就用一个字节表示,保留了ASCII字符一个字节的编码做为它的一部分,注意的是unicode一个中文字符占2个字节,而UTF-8一个中文字符占3个字节)。从unicode到uft-8并不是直接的对应,而是要过一些算法和规则来转换。Unicode符号范围 | UTF-8编码方式(十六进制) | (二进制)—————————————————————–0000 0000-0000 007F | 0xxxxxxx0000 0080-0000 07FF | 110xxxxx 10xxxxxx0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

如何将4字节utf-8的emoji表情转换为unicode字符编码

由于utf8_unicode_ci与utf8mb4_unicode_ci都是使用UTF-8编码,所以对于JAVA,使用MyBatis生成的代码是一样的,都是使用String类型。这点已经实测过。加上这两种collations在BMP中的编码完全一致,所以使用3字节与4字节的系统,对于BMP中的字符都是完全兼容、正常显示的。而对于3字节的系统,4字节的字符一般会显示成一个方框,或者在一个方框中有几个小数字,不会引发系统异常。

VB编程中如何将UTF-8和Unicode互相转换?

Private Declare Function WideCharToMultiByte Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByRef lpMultiByteStr As Any, ByVal cchMultiByte As Long, ByVal lpDefaultChar As String, ByVal lpUsedDefaultChar As Long) As LongPrivate Declare Function MultiByteToWideChar Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpMultiByteStr As Long, ByVal cchMultiByte As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As LongPrivate Const CP_UTF8 = 65001‘utf8转unicodeFunction Utf8ToUnicode(ByRef Utf() As Byte) As String Dim lRet As Long Dim lLength As Long Dim lBufferSize As Long lLength = UBound(Utf) - LBound(Utf) + 1 If lLength <= 0 Then Exit Function lBufferSize = lLength * 2 Utf8ToUnicode = String$(lBufferSize, Chr(0)) lRet = MultiByteToWideChar(CP_UTF8, 0, VarPtr(Utf(0)), lLength, StrPtr(Utf8ToUnicode), lBufferSize) If lRet <> 0 Then Utf8ToUnicode = Left(Utf8ToUnicode, lRet) End IfEnd Function‘unicode转utf8Function UnicodeToUtf8(ByVal UCS As String) As Byte() Dim lLength As Long Dim lBufferSize As Long Dim lResult As Long Dim abUTF8() As Byte lLength = Len(UCS) If lLength = 0 Then Exit Function lBufferSize = lLength * 3 + 1 ReDim abUTF8(lBufferSize - 1) lResult = WideCharToMultiByte(CP_UTF8, 0, StrPtr(UCS), lLength, abUTF8(0), lBufferSize, vbNullString, 0) If lResult <> 0 Then lResult = lResult - 1 ReDim Preserve abUTF8(lResult) UnicodeToUtf8 = abUTF8 End IfEnd FunctionPrivate Sub Command1_Click() Dim byt() As Byte byt = UnicodeToUtf8("测试") Debug.Print Hex(byt(0)) & Hex(byt(1)) & Hex(byt(2)) Debug.Print Utf8ToUnicode(byt()) End Sub

字符编码中ASCII,Unicode和UTF-8的区别

ASCII码使用一个字节编码,所以它的范围基本是只有英文字母、数字和一些特殊符号 ,只有256个字符。在表示一个Unicode的字符时,通常会用“U+”然后紧接着一组十六进制的数字来表示这一个字符。在基本多文种平面(英文为 Basic Multilingual Plane,简写 BMP。它又简称为“零号平面”, plane 0)里的所有字符,要用四位十六进制数(例如U+4AE0,共支持六万多个字符);在零号平面以外的字符则需要使用五位或六位十六进制数了。旧版的Unicode标准使用相近的标记方法,但却有些微的差异:在Unicode 3.0里使用“U-”然后紧接着八位数,而“U+”则必须随后紧接着四位数。Unicode能够表示全世界所有的字节GBK是只用来编码汉字的,GBK全称《汉字内码扩展规范》,使用双字节编码。UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。

一次性搞懂字符集,编码,Unicode,Utf-8/16,BOM...

众所周知,计算机采用二进制的计算方式,一个字节占8位(为什么是8位不是9位10位?大家可以自行探讨),不管任何数据,图片,文字,声音等等,都要转换成具体的数值,最终转换成二进制数据,计算机才能处理,这个过程就是编码,本文所说的编码只是针对文字编码的介绍。 现代计算机技术起源于美国,编码自然也是起源于美国, AscII (American Standard Code for Information Interchange)码就是第一套通用的计算机编码,它包含了英文字符,阿拉伯数字和一些常用符号,一共128个,占一个字节,第一位补0,例如常用的大写字母A是65(01000001),小写字母a是97,所以在JAVA里我们可以这样进行大小写转换: 从字面上来理解,字符集是一个包含指定字符的集合,而编码是把文字转换成对应的数字码,确实也是这样,像AscII码,他包含了128个特定字符,并且为每个字符指定了一个序号,可以称之为字符集,编码则是像查字典一样,从字符集中查到对应的序号,再把序号按编码规则转换成具体的数值,称之为编码。AscII码比较简单,只占了一个字节,他的编码结果和码表的序号值是一样的,所以它的字符集和编码的概念区分并不严格。 随着计算机技术的发展,AscII码只能用于拉丁文字符的限制,严重影响了非英语系国家的使用,所以,各个国家和地区分别发展出了对应本地语言的编码方式,GB2312就是中国国家标准总局制定的汉字字符集标准码,GB是国标的意思。实际上,GB2312除了中文以外,还包含了拉丁字符,希腊字符,日文,俄语等等常见字符。 GB2312占据两个字节,也就是说他能容纳的字符数量为 2 16 一共65536个。为了便于管理,GB2312将所有字符分成了若干个96字符的组,每个组称为区,字符所在的位置称为区位,这样,每个字符都有了对应的区位码。例如,汉字"安"所在的区为第16区,位置序号是18,他的区位码就是1618,有了区位码以后怎样才能转换成编码呢? 很简单,把区位码分开,区号和位置序号分别加上 0xA0,就是对应的编码了。所以"安"的GB2312编码就是 0xA0+16 0xA0+18 = 0xB0B2。 到这里,GB2312基本介绍完了,但是还有一个问题,AscII码在GB2312里是怎么处理的?实际上,GB2312兼容了AscII码,上边提到了,GB2312编码是区位码分别加A0得到的,A的编码是1010,也就是说,GB2312的编码必定是1开头的,而AscII码则是0开头的,这样就简单了,遇到1开头的编码,则按GB2312解码,遇到0开头的则按AscII解码。 GBK是GB2312的升级版,不止包含常用汉字,还包含了繁体,部首,生僻字等等,几乎可以满足所有使用汉字的场景。 Unicode是国际编码组织制定的可以容纳世界上所有文字和符号的字符编码方案,范围从0 - 0x10FFFF,分为17组,每个组称为一个平面(plane),每个平面包含65536个字符,实际上目前只用到了少数平面,比如最常用的基本平面(BMP),范围从0-0xFFFF.其他的从 0x010000 - 0x10FFFFFF 则称为辅助平面(SMP),实际上在我们的日常使用中BMP基本上能满足所有要求。 Unicode包含了全世界日常使用的几乎所有字符,例如汉字"安",他的Unicode码是0x5B89。 什么是utf编码?上边介绍了Unicode,它是一个字符集,规定了每个字符对应的数值,utf则是具体的实现方式,用各种方法来存储字符对应的数值,而根据各种实现方式的不同,又分为utf-8/16/32。 utf8是变长编码,如果是1字节,它和Ascall码是一样的,多字节时第一字节的第一位开始填1,有几个1表示占几个字节,比如110x xxxx表示两个字节,第二个字节开始一直到结束,都是10开头,完整的编码如下: 同样拿汉字"安"来说,它的Unicode码是0x5B89,转换成2进制填充到utf-8的空位里去,多余的位置补0得到结果:0xE5AE89。 现在我们再看一下字符集和编码,就比较清楚了,Unicode是字符集,utf-8编码则是该字符集的一种实现方式,他们并不是同一个概念。 再来看一下utf-16编码,utf-16的长度固定为2个或者4个字节,通常我们使用2个字节就可以了,它对应的就是Unicode中的基本平面BMP,编码就是Unicode码,不足2个字节的位数在前边补0,同样是汉字"安",它的Unicode码是0x5B89,所以utf-16码也是0x5B89。所以AscII码也会占据两个字节,会有一部分空间浪费。编码Unicode辅助平面的字符时,utf-16占用4个字节,平时几乎用不到,所以具体的编码规则就不做介绍了。 utf-32编码固定占用4个字节,他对应的是全部Unicode码,这种编码方式基本用不到,也不需要深入了解。 这几个词平时出现的频率比较少一些,LE表示Little Endian,小端序,BE表示Big Endian,大端序,分别代表了计算机领域数据存储的两种方式。 大端序: 小端序: 实际上我们在日常使用过程中不需要关心当前计算机使用的是那种方式。但在UTF-16编码时,它也有大小端序两种编码方式,例如0x5E89,大端序值为0x5E89,小端序则要反过来表示为0x895E,为了区分这两种方式,在采用UTF-16编码时,在数据流的开始添加了一个统一的标识,0xFEFF表示大端序,对应的编码是utf-16be,0xFFFE表示小端序,对应的编码是utf-16be,这个表示就是BOM。 BOM全称Byte Order Mark,字节序标记,除了utf-16之外,utf-8也可以添加bom,它的bom固定为0xEFBBBF,选择编码方式为utf-8 with bom时,生成的文件流中就会出现这个bom。为什么utf-8可以不需要bom呢,因为utf8是变长的,它根据第一个字节信息判断每个字符的长度,不存在正反顺序的问题,我们日常使用的utf-8都是不带bom的。 看完了字符编码的介绍,这里有一个问题,java里的char类型能不能存储中文字符? java里char占了两个字符,很容易得出结论,如果采用utf-8,是不能存储中文的,其他编码方式GB2312,utf-16都可以存储中文,是这样吗? 其实没有这么简单,不管我们在编辑器里选什么编码方式,对java里的char都没有影响,实际上char对应的是Unicode的基本平面BMP。我们在浏览器里选择的编码只是对应文件的保存方式,跟char采用什么编码没有任何关系,同样的,如果我们在new一个String的时候指定了编码,这个编码也只对这一个String生效,而Java里的char是编译器里定死了的,它对应的就是BMP,也可以认为是utf-16的2字节部分。 那么ava里的char类型到底能不能存储中文字符,当然可以,但是仅对应BMP部分,各种繁体字生僻字就无能为力了。

字符编码中ASCII,Unicode和UTF-8的区别

打开"记事本"程序Notepad.exe,新建一个文本文件,内容就是一个"严"字,依次采用ANSI,Unicode,Unicode big endian 和 UTF-8编码方式保存。然后,用文本编辑软件UltraEdit中的"十六进制功能",观察该文件的内部编码方式。1)ANSI:文件的编码就是两个字节"D1 CF",这正是"严"的GB2312编码,这也暗示GB2312是采用大头方式存储的。2)Unicode:编码是四个字节"FF FE 25 4E",其中"FF FE"表明是小头方式存储,真正的编码是4E25。3)Unicode big endian:编码是四个字节"FE FF 4E 25",其中"FE FF"表明是大头方式存储。4)UTF-8:编码是六个字节"EF BB BF E4 B8 A5",前三个字节"EF BB BF"表示这是UTF-8编码,后三个"E4B8A5"就是"严"的具体编码,它的存储顺序与编码顺序是一致的

ASCII,Unicode,GBK和UTF-8字符编码的区别联系

 ASCII码使用一个字节编码,所以它的范围基本是只有英文字母、数字和一些特殊符号 ,只有256个字符。  在表示一个Unicode的字符时,通常会用“U+”然后紧接着一组十六进制的数字来表示这一个字符。在基本多文种平面(英文为 Basic Multilingual Plane,简写 BMP。它又简称为“零号平面”, plane 0)里的所有字符,要用四位十六进制数(例如U+4AE0,共支持六万多个字符);在零号平面以外的字符则需要使用五位或六位十六进制数了。旧版的Unicode标准使用相近的标记方法,但却有些微的差异:在Unicode 3.0里使用“U-”然后紧接着八位数,而“U+”则必须随后紧接着四位数。  Unicode能够表示全世界所有的字节  GBK是只用来编码汉字的,GBK全称《汉字内码扩展规范》,使用双字节编码。  UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。

unicode编码和utf-8编码的区别

UTF-8是对unicode字符集进行编码的一种编码方式。UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间:

ASCII,Unicode,GBK和UTF-8字符编码的区别联系

  ASCII码使用一个字节编码,所以它的范围基本是只有英文字母、数字和一些特殊符号 ,只有256个字符。  在表示一个Unicode的字符时,通常会用“U+”然后紧接着一组十六进制的数字来表示这一个字符。在基本多文种平面(英文为 Basic Multilingual Plane,简写 BMP。它又简称为“零号平面”, plane 0)里的所有字符,要用四位十六进制数(例如U+4AE0,共支持六万多个字符);在零号平面以外的字符则需要使用五位或六位十六进制数了。旧版的Unicode标准使用相近的标记方法,但却有些微的差异:在Unicode 3.0里使用“U-”然后紧接着八位数,而“U+”则必须随后紧接着四位数。  Unicode能够表示全世界所有的字节  GBK是只用来编码汉字的,GBK全称《汉字内码扩展规范》,使用双字节编码。  UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。

ASCII,Unicode,GBK和UTF-8字符编码的区别联系

ASCII码使用一个字节编码,所以它的范围基本是只有英文字母、数字和一些特殊符号 ,只有256个字符。在表示一个Unicode的字符时,通常会用“U+”然后紧接着一组十六进制的数字来表示这一个字符。在基本多文种平面(英文为 Basic Multilingual Plane,简写 BMP。它又简称为“零号平面”, plane 0)里的所有字符,要用四位十六进制数(例如U+4AE0,共支持六万多个字符);在零号平面以外的字符则需要使用五位或六位十六进制数了。旧版的Unicode标准使用相近的标记方法,但却有些微的差异:在Unicode 3.0里使用“U-”然后紧接着八位数,而“U+”则必须随后紧接着四位数。Unicode能够表示全世界所有的字节GBK是只用来编码汉字的,GBK全称《汉字内码扩展规范》,使用双字节编码。UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。

Unicode 和 UTF-8 有何区别

你看到的unicode字符集是这样的编码表:I 0049t 0074" 0027s 0073 0020知 77e5乎 4e4e日 65e5报 62a5每一个字符对应一个十六进制数字。计算机只懂二进制,因此,严格按照unicode的方式(UCS-2),应该这样存储:I 00000000 01001001t 00000000 01110100" 00000000 00100111s 00000000 01110011 00000000 00100000知 01110111 11100101乎 01001110 01001110日 01100101 11100101报 01100010 10100101这个字符串总共占用了18个字节,但是对比中英文的二进制码,可以发现,英文前9位都是0!浪费啊,浪费硬盘,浪费流量。怎么办?UTF。UTF-8是这样做的:1. 单字节的字符,字节的第一位设为0,对于英语文本,UTF-8码只占用一个字节,和ASCII码完全相同;2. n个字节的字符(n>1),第一个字节的前n位设为1,第n+1位设为0,后面字节的前两位都设为10,这n个字节的其余空位填充该字符unicode码,高位用0补足。这样就形成了如下的UTF-8标记位:0xxxxxxx110xxxxx 10xxxxxx1110xxxx 10xxxxxx 10xxxxxx11110xxx 10xxxxxx 10xxxxxx 10xxxxxx111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx... ...于是,”It"s 知乎日报“就变成了:I 01001001t 01110100" 00100111s 01110011 00100000知 11100111 10011111 10100101乎 11100100 10111001 10001110日 11100110 10010111 10100101报 11100110 10001010 10100101和上边的方案对比一下,英文短了,每个中文字符却多用了一个字节。但是整个字符串只用了17个字节,比上边的18个短了一点点。下边是课后作业:请将”It"s 知乎日报“的GB2312和GBK码(自行google)转成二进制。不考虑历史因素,从技术角度解释为什么在unicode和UTF-8大行其道的同时,GB2312和GBK仍在广泛使用。剧透:一切都是为了节省你的硬盘和流量。

Unicode字符集的UTF-32、UTF-16和UTF-8编码

什么是Unicode字符集?简单地说,它就是把全世界人类发明和使用的现有的所有字符进行了集中收集和逐一编码,这个过程就像把上学时老师把班里学生都叫到一起,统计总数后给每个学生分配一个唯一的学号一样。Unicode字符集里收录的字符可以是文字(如:‘α"、‘魍"等),也可以是符号(如:‘@"、‘$"),还可以是图形(如"u263a"等)。 那它有什么用呢?它有两个重要的用途: 一是解决了人们和机器之间的字符交互问题。每个字符不再是一个个抽象的文字、符号或图形,而是变成了一个个的数字,每个数字对应一个唯一的字符,而每个字符也有一个唯一的数字,两者之间是一一对应关系,而且不同字符和不同数字都各不相同,避免了“重名重姓”问题。这里,提到的表示字符的数字,我们也称之为 码点 ,后面我们还会详细介绍。 二是解决了不用语言国家字符集编码不统一的问题,提供了一个统一的编码方式,避免“各自为政,政出多门”的问题,方便相互之间的数据交流。 有了基本概念,那么我们看看Unicode字符集是如何实现对所有字符编码的。根据官网公布的Unicode 最新版本(9.0)介绍,Unicode字符集现在共包括 128,172 个字符,可查看 http://www.unicode.org/versions/Unicode9.0.0/ 。如此大量的字符,该如何编码?最笨的办法就是把所有字符列出来,然后一个一个编个号,但这样不利于查找,也不利于分类,更不利于进行存储空间优化编码(后面会介绍一些优化编码方案)。 那Unicode字符集怎么解决这个编码问题呢?它采用的是“分块编码”。按照国籍、地区、用途、功能等不同属性,把字符先进行分类,然后再根据每个小字符类的字符个数,确定一个个大小不同的 码块 ,下面节选了几种字符及其对应的 码点 。 (节选) 0000..007F; Basic Latin(基本拉丁字母) 4E00..9FFF; CJK Unified Ideographs(CJK统一表意文字) 1D100..1D1FF; Musical Symbols(音乐符号) 100000..10FFFF; Supplementary Private Use Area-B(补充专用区域-B) 注意,“0000”、“007F”、“1D100”以及“100000”等,都是十六进制,这是每个字符在Unicode字符集中的编号,也就是相当于每个字符的“学号”。 可以看出,要表示一个字符,最长需要6位十六进制数,换算一下就是24位二进制数;而短的,比如基本拉丁字母,前面的“0”省去,只要2位十六进制(8位二进制数)就行了。 有了字符集,下面就要谈谈如何表示和使用这些字符(码点)了。毕竟,谁也不会闲了没事把字符编个号就为了练自己认字和数数的能力。 最重要的当然是为了让不同信息受体间交换信息 。 于是,就出现了UTF。所谓UTF是Unicode Transformation Format的缩写,意为Unicode转换格式。UTF具体分为3类,分别是UTF-32,UTF-16和UTF-8。 先看UTF-32。UTF-32是 定长编码 ,也就是说每个字符的编码长度都是固定的,‘32‘是其所使用的二进制编码的位数,即: 32位 。但通常以字节数进行量化,所以32位对应的字节数为 4字节 。 我们的Unicode字符集每个字符的码点最长也就是24位,相当于3个字节,而UTF-32给了4个字节(32位)来表示,给了字符集非常大的扩展空间(有兴趣的童鞋可以算算32位二进制数最大可以表示多大的数,这个数基本就对应了可以表示多少字符)。 没这时间计算这些的童鞋你就简单理解为,UTF-32就是一个“运超大箱”的快递公司,不管你寄什么,它都统一拿装冰箱的盒子寄(觉得不够大的,自行脑补一个),保证能一次装下你要寄的东西。 它的优点是被表示的Unicode字符都是固定长度的,易于查找和解码;但缺点是表示常用字符时内存占用太大,本地存储利用率或传输效率太低。 UTF-16是 变长编码 ,也就是说每个字符的编码长度是变化的,不是一成不变的。它的编码算法为: 在UTF-16中,2字节是字符的基本表示单元,低码点的用 2字节 表示,高码点的拆开后用 2个2字节 表示。 还是拿快递公司的例子类比,UTF-16是家提供了一种“运中等箱子”的快递公司,中等箱子能装下的就直接寄,装不下的,做个标记,分两个箱子寄,收件人需要特别注意下标记,如果没有标记,直接就用,如果有,就把两个箱子东西取出来拼起来后再用。 UTF-8也是 变长编码 ,它的编码算法与UTF-16并无本质区别,都是对Unicode进行分段,然后加上标识码,唯一的区别是分段更多。其算法如下: 在UTF-8中,1字节是字符的基本表示单元,最低的码点( 000000-0000FF )用1字节表示,高的码点( 000080-10FFFF )进一步分段,分别拆开为2个、3个和4个1字节。 可见,相比较而言,UTF-8是家只能“运小箱子”的快递公司,少数能装下的就用1个箱子运,不能装下的就拿2个、3个甚至4个来运。作为收件人,会非常辛苦的进行逐一判别,基本上都是需要拆箱组装后才能使用的(下面讲到也会有特例)。 当然,UTF-8在对于拉丁语系国家或者字符为主的信息传递和数据处理时,效率是非常高的,因为刚才Unicode字符集节选中提到的基本拉丁语范围刚好是 0000..007F ,在UTF-8中只要1个字节就够了。但是,对于中日韩(CJK,China-Japan-Korea)语系或字符为主的信息传递和数据处理时,效率就不那么好了,因为刚才节选的中日韩表意文字范围是 4E00..9FFF ,那在UTF-8中进行编解码时必须按照上面UTF-8算法的 第3条 进行处理,也就是要用 3个字节 来表示(还不如UTF-16的 2字节 ),所以国内很多中文数据较多的网站一般也不会采用UTF-8来进行编码,但作为程序猿还是比较喜欢用这种的编码方式。 完。

Unicode 和 UTF-8 有何区别

让你彻底搞定各种编码来源ASCII、ANSI、GBK、unicode、UTF-8等彻底搞定各种编码ASCII、ANSI、GBK、utf

分别写出字符“A”,“中”的ASCII码、Unicode码、utf-8编码

中山大学软件学院的?

请问stm32中Decode和Icode的意思

数据总线 指令总线

非unicode程序语言是什么东西

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。多数字符都是这种编码。但由于不同国家和地区采用的字符集不一致,很可能出现无法正常显示所有字符的情况,非 Unicode选项作用就是在遇到这种情况时,把非 Unicode编码字符按照你选择的语言进行显示.

没有 unicode 字节顺序标记.不能切换到 unicode是什么异常

unicode只是字符集,由于不同系统或软件对字节序理解不同,可能产生不同的字,例如:“李”的unicode编码为674E ,按正常阅读顺序,67为高字节,4E为低字节,但在文件中两个字节的顺序可以不同,这就需要文件开头有一个标记来说明是怎么的顺序。前两个字节为FF FE 表示低字节在前,即 4E 67FE FF代表高字节在前,即67 4E你说的情况可能就是没有开关这样的标记,无法识别是怎样的顺序而产生错误

unicode、nls、 utf-8,这三种字符集有什么关系?

Unicode是一种字符集,和ascii是同一个概念,而UTF是一种存储方式(格式)Unicode只是一个字符集,它只规定了符号的二进制代码,每个字符都使用2个字节来存储,没有实现存储方法。UTF-8是将字符对应的unicode十六进制进行存储,存储的字节可能是1、2、3、4个字节。它是Unicode的实现方式之一,其它还有UTF-16、UTF-32UTF-8最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。UTF-8的编码规则很简单,只有二条:对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于英语字母,UTF-8编码和ASCII码是相同的。对于n字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的unicode码。下表总结了编码规则,字母x表示可用编码的位。Unicode符号范围 | UTF-8编码方式(十六进制) | (二进制)——————————————————————0000 0000 - 0000 007F | 0xxxxxxx0000 0080 - 0000 07FF | 110xxxxx 10xxxxxx0000 0800 - 0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx0001 0000 - 0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxxNLS:National Language Support ,顾名思义,是本地语言支持,其本身不是一种编码或字符集

Windows记事本的 ANSI,Unicode,UTF-8三种编码模式有什么区别?

一句话建议:涉及兼容性考量时,不要用记事本,用专业的文本编辑器保存为不带 BOM 的 UTF-8。x0dx0ax0dx0a如果是为了跨平台兼容性,只需要知道,在 Windows 记事本的语境中:x0dx0ax0dx0a所谓的「ANSI」指的是对应当前系统 locale 的遗留(legacy)编码。[1]x0dx0ax0dx0a所谓的「Unicode」指的是带有 BOM 的小端序 UTF-16。[2]x0dx0ax0dx0a所谓的「UTF-8」指的是带 BOM 的 UTF-8。[3]x0dx0ax0dx0aGBK 等遗留编码最麻烦,所以除非你知道自己在干什么否则不要再用了。x0dx0aUTF-16 理论上其实很好,字节序也标明了,但 UTF-16 毕竟不常用。x0dx0aUTF-8 本来是兼容性最好的编码但 Windows 偏要加 BOM 于是经常出问题。x0dx0ax0dx0a所以,跨平台兼容性最好的其实就是不用记事本。x0dx0a建议用 Notepad++ 等正常的专业文本编辑器保存为不带 BOM 的 UTF-8。x0dx0ax0dx0a另外,如果文本中所有字符都在 ASCII 范围内,那么其实,记事本保存的所谓的「ANSI」文件,和 ASCII 或无 BOM 的 UTF-8 是一样的。

unicode字符集是unicode联盟开发的一种什么位字符

64位字符。unicode字符集是unicode联盟开发的一种64位字符。unicode字符集是一个统一字符集,整合世界上所有需要用到的字符,解决不同字符集之间无法通讯的问题。

java使用unicode为默认编码是什么意思

java初学者都会接触到一个概念,既java的默认编码是uincode,但书上也就出现这句话而已,究竟是什么意思就没再说。其实对于一个程序员来说,一个平台的编码方式是不用了解的,因为这是他内部处理字符的方式,和我们顶层设计程序是没有多大关系(如果真要说有关系的话,一个就是你对这个平台的熟悉程度,另一个就只能是你要处理的字符奇葩到要考虑编译器有没有包括这个字符)。但这并不是指我们在编程的时候完全不用考虑编码问题,恰恰相反,编码问题是跨系统交流的基本。那java哪里会用到编码问题呢?最常见的是流,下面有两个例子。1.在linux下用java创建了一个文件(这里默认代码里没有指定编码),里面包括英文和中文,然后在windows下同样用java读取这个文件,并输出,结果中文出现了乱码;2.android手机和电脑的两个java程序进行类似qq的信息交流,中文都是乱码。疑惑来了,java不是跨平台吗,而且默认编码就是unicode,为什么会有编码? 正如上面所说,java的系统编码是管理内部变量等信息的,是统一不能变的,但上面两个例子出现乱码的原因在于这些字符信息是从外界读取的,编码方式直接影响到字符的显示,比如gbk一个字符是1或2个字节,中文是2个,而utf8是1到4个字节不定,中文是3个,utf16是2个字节固定不变,所以很明显了,同样字节数的源信息可以每2个或者每3个字节表达一个中文,不同编码当然不同了,而且即使gbk和utf16都是两个字节表示一个中文,同样的二进制也对应不同的字符。所以从外部读取到这些byte信息后,就要指定编码,比如newString(byte[],charset),当然,也可以在构建流的时候就指定,像newInputStreamReader(InputStream,charset)等,但像BufferedReader等没有相应的构造函数,就只能把上面的InputStreamReader作为参数了。总结:1.String和流(包括控制台的输出输入)的默认编码是根据系统而定,即jvm假设这些信息是当前系统创建的,windows默认中文是gbk,linux和mac是utf8(这里又来了,utf8和unicode是什么意思,简单地说,unicode是把每个字符和一个唯一的二进制码对应的标准,而utf是unicodetransformationformat,即如何表示每个唯一的二进制码,utf8,utf16和utf32是不同的编码方式);2.IDE设置的编码方式用于存取java源文件,对于在不同系统平台上共享代码很重要;3.java编译器采用utf8,即class文件的存储是用utf8,因为相对于utf16,utf8在处理英文占用内存小,而程序大部分都是英文;4.jvm运行时的编码方式是utf16,即jvm用utf8从class文件读取程序后再转化为utf16编码的字符串,因为utf16是2个字节,统一的长度更方便jvm申请数组等操作;5.网页大部分是用utf8编码的,在html头几行有charset的信息,在对下载下来的网页进行解析时,要注意编码,谷歌百度在对搜索结果的解析时也是用utf8的,所以在涉及到网络时编码问题非常重要,本人曾经栽得很惨,当然了,谁叫windows的编码不是utf8;6.不知大家有没有经历过,如果编码弄错了,一般只有中文会出现乱码,而中文后面的英文是正确的,不合理啊,这不是类似多骨诺米牌吗,一个错了,后面不是全倒吗。所以别小看那些制定编码的专家,像utf8每个字节的前几位都用来表示一些信息,不同字节还不一样,而utf16也有,所以弄出了utf16le和utf16be

计算机基础:Unicode是一个字符集, 可以看作为【内码】,什么叫做内码呢?

我说汉字"内码"与"外码" 内码汉字计算机内部存储处理传输用信息编码必须与ASCII码兼容能冲突 所标码两字节高位置"1"区别于西文内码汉字输入码称"外码"输入码即指我输入汉字使用编码见外码数字编码(区位码)拼音编码字形编码(五笔) 再说区位码"啊"区位码1601写16进制0x10,0x01计算机广泛使用ASCII编码冲突兼容00-7f ASCII编码我区位码高、低字节别加A0"啊"编码B0A1我加两A0编码称GB2312编码虽 GB2312原文根本没提点 内码指操作系统内部字符编码早期操作系统内码与语言相关.现Windows内部统使用Unicode用代码页适应各种语言,"内码"概念比较模糊我般缺省代码页指定编码说内码内码词汇并没官定义代码页微软种习惯叫作程序员我要知道东西没必要考证些名词 所谓代码页(code page)针种语言文字字符编码例GBKcode pageCP936BIG5code pageCP950GB2312code pageCP20936 Windows缺省代码页概念即缺省用编码解释字符例Windows记事本打文本文件面内容字节流:BA、BA、 D7、D6Windows应该解释呢按照Unicode编码解释、按照GBK解释、按照BIG5解释按照ISO8859-1 解释按GBK解释"汉字"两字按照其编码解释能找应字符能找错误字符所谓"错误"指与文本作者本意符产乱码 答案Windows按照前缺省代码页解释文本文件字节流缺省代码页通控制面板区域选项设置记事本另存项ANSI其实按照缺省代码页编码保存 Windows内码Unicode技术同支持代码页要文件能说明自使用编码用户安装应代码页Windows能确显示例HTML文件指定charset HTML文件作者特别英文作者认世界所都使用英文文件指定charset使用0x80-0xff间字符文Windows按照缺省GBK解释现乱码要html文件加指定charset语句例: <meta http-equiv="Content-Type" content="text/html; charset=ISO8859-1"> 原作者使用代码页ISO8859-1兼容现乱码

QQ上的unicode控制字符是什么意思?

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算机工作能力的增强,Unicode也在面世以来的十多年里得到普及。 Unicode 是基于通用字符集(Universal Character Set)的标准来发展,并且同时也以书本的形式(The Unicode Standard,目前第五版由Addison-Wesley Professional出版,ISBN-10: 0321480910)对外发表。 2006年6月的最新版本的 Unicode 是 2005年3月31日推出的Unicode 4.1.0 。另外,5.0 Beta已于2005年12月12日推出,以供各会员评价。

ASCII 是什么 和 Unicode 是什么关系

是unicode编码abc这种就是ascii编码

The Unicode Consortium是什么意思

The Unicode ConsortiumUnicode组合.Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。很高兴为你解答!如有不懂,请追问。 谢谢!

什么是USC-2(Unicode)编码标准?

Unicode (电脑)在ASCII后最常用的标准字符集。ASCII虽然仍是电脑运作的基础。但是毕竟太少。跟不上电脑应用发展的脚步。Unicode更强大。前面的255个Unicode字符可以映射ASCII字符表。国际标准组织于1984年4月成立ISO/IEC JTC1/SC2/WG2工作组。针对各国文字、符号进行统一性编码。1991年美国跨国公司成立Unicode Consortium。并于1991年10月与WG2达成协议。采用同一编码字集。目前Unicode是采用16位编码体系。其字符集内容与ISO10646的BMP(Basic Multilingual Plane)相同。Unicode于1992年6月通过DIS(Draf International Standard)。目前版本V2.0于1996公布。内容包含符号6811个。汉字20902个。韩文拼音11172个。造字区6400个。保留20249个。共计65534个。随着国际互联网的迅速发展。要求进行数据交换的需求越来越大。不同的编码体系越来越成为信息交换的障碍。而且多种语言共存的文档不断增多。单靠代码页已很难解决这些问题。于是UNICODE应运而生。UNICODE有双重含义。首先UNICODE是对国际标准ISO/IEC10646编码的一种称谓(ISO/IEC10646是一个国际标准。亦称大字符集。它是ISO于1993年颁布的一项重要国际标准。其宗旨是全球所有文种统一编码)。另外它又是由美国的HP、Microsoft、IBM、Apple等大企业组成的联盟集团的名称。成立该集团的宗旨就是要推进多文种的统一编码。UNICODE同现在流行的代码页最显著不同点在于:UNICODE是两字节的全编码。对于ASCII字符它也使用两字节表示。代码页是通过高字节的取值范围来确定是ASCII字符。还是汉字的高字节。如果发生数据损坏。某处内容破坏。则会引起其后汉字的混乱。UNICODE则一律使用两个字节表示一个字符。最明显的好处是它简化了汉字的处理过程。UNICODE使用平面来描述编码空间。每个平面分为256行。256列。相对于两字节编码的高低两个字节。UNICODE的第一个平面。称为Basic Multilingual Plane(基本多文种平面)。简称BMP。由于BMP仅用两个字节表示。所以倍受青睐。Unicode的最初目标。是用1个16位的编码来为超过65000字符提供映射。但这还不够。它不能覆盖全部历史上的文字。也不能解决传输的问题(implantation head-ache"s)。尤其在那些基于网络的应用中。因此。Unicode用一些基本的保留字符制定了三套编码方式。它们分别是UTF-8,UTF-16和UTF-32。正如名字所示。在UTF-8中。字符是以8位序列来编码的。用一个或几个字节来表示一个字符。这种方式的最大好处。是UTF-8保留了ASCII字符的编码做为它的一部分。例如。在UTF-8和ASCII中。“A”的编码都是0x41.UTF-16和UTF-32分别是Unicode的16位和32位编码方式。考虑到最初的目的。通常说的Unicode就是指UTF-16。多年来。计算机普遍采用美国信息交换标准代码(American Standard Code for Information Interchange,简称ASCII码)来表示字符。这些字符可以是字母。数字。标点符号和控制符。用这种编码来表示英文在内的字符不成问题的。但要表示其它语言文字如。阿拉伯文。中文。日文。维文。哈文…必须进行扩充。在1987年。Xerox Palo Alto研究中心的Joe Becker和Lee Collins。以及Apple公司的Mark Davis试图研究一种适用于多文种处理的字符编码。这种编码很快就得到了许多大公司的支持。这些公司都派代表参加Unicode研究组。Unicode的研究得到了较快的进展。由于Unicode集团的成员都是世界上的主要系统及软件制造商。所以Unicode很快就成为事实上的工业标准。基于Unicode的系统允许使用65000个不同的字符。足以善盖世界所有语言的所有字母。外加数千种符号。其中。General Scripts区单独收录了19种语言文字。包括ASCII,Latin1,Greek,Cyrillic,Armenian,Hedrew,Arabic,Devanagari,Bengali ,Gurmukhi,Gujarati,Oriya,Tamil,Telugu,Kannada,Malayalam,Thai,Lao,Tibetan,Georgian等语言文字之外。还包括汉语。日语和朝鲜语中的所有大量字符。Unicode是一种定长的2B多文种字符集编码。它试图善盖现有的有关国家和地区的标准。包括GB2312,CNS11643,JIS 0208和KSC 5601等。Unicode可以表示混合文字资料。也可以保证以前的ISO 10646。凡顺提示:Win98以前的操作系统不支持Unicode。

文本格式ANSI,Unicode等有什么区别

彻底搞定各种编码ASCII、ANSI、GBK、utf

句号的unicode码是什么?

U+002E 句号是 3002U+00B7 间隔号是 FF0E

保存文本时怎么有unicode什么的

指字符的编码方式

UNICODE和_UNICODE有什么区别

很少有人知道这事,其实是微软内部不同开发组配合不默契引起的,一个组用了有杠的一个组用没杠的,本身就是个失误,只是错已铸成不可挽回,咱们用的时候要定义就都定义,要不都不定义。

字符串和unicode字符串什么区别

Unicode给每个字符提供了一个唯一的数字,不论是什么平台,不论是什么程序,不论是什么语言。基本上,计算机只是处理数字。它们指定一个数字,来储存字母或其他字符。在创造Unicode之前,有数百种指定这些数字的编码系统。没有一个编码可以包含足够的字符:例如,单单欧州共同体就需要好几种不同的编码来包括所有的语言。即使是单一种语言,例如英语,也没有哪一个编码可以适用于所有的字母,标点符号,和常用的技术符号。

unicode和utf-8是什么关系

Unicode的最初目标,是用1个16位的编码来为超过65000个字符提供映射。但这还不够,它不能覆盖全部历史上的文字,也不能解决传输的问题(implantation head-ache"s),尤其在那些基于网络的应用中。已有的软件必须做大量的工作来实现16位的数据。  因此,Unicode用一些基本的保留字符制定了三套编码方式。它们分别是UTF-8,UTF-16和UTF-32。正如名字所示,在UTF-8中,字符是以8位序列来编码的,用一个或几个字节来表示一个字符。这种方式的最大好处,是UTF-8保留了ASCII字符的编码做为它的一部分,例如,在UTF-8和ASCII中,“A”的编码都是0x41. UTF-16和UTF-32分别是Unicode的16位和32位编码方式。考虑到最初的目的,通常说的Unicode就是指UTF-16。在讨论Unicode时,搞清楚哪种编码方式非常重要。Unicdoe相关的技术介绍参见http://www.unicode.org/unicode/standard/principles.html.    具体到iSeries,支持国际开放标准Unicode:UCS-2 (Unicode or ISO 10646)   A Code Character Set ID (CCSID) of 1208 is added to support UTF-8 .

文本文件和unicode什么区别

unicode文本是用unicode编码写成的文本。普通文本是用英文ASCII编码写成的文本。unicode用16位码,ASCII用7位码,编码涵义,各有各的定义。汉字国标码GB虽然也是16位码,但编码涵义与unicode完全不同。unicode文本除用16位码外还要有一定的结构,用来区分语种的开始结束。显示unicode文本,除须显示软件外,还要有相应的某国语言的 unicode font(字体文件)。

"插入unicode控制字符"是干什么用的?

是一种比Ansi码更广的字符集合。这是16位表示一个字。而ANSI只用8位表示一个字

Unicode控制字符是指什么意思,记事本保存的时候出现的

Unicode是一种文件的编码格式,是所有全球重要脚本的超集。它包含商业和计算机通用的字符集。在将文档保存为Unicode格式时,可以使用Unicode控制字符对诸如阿拉伯和希伯来语言的文本流和方向起帮助作用。

我保存一个文档时候,它总是说有unicode格式的字符。,unicode格式的字符是什么?该怎么办呢?

unicode是一种字符编码,其目的是为了涵括各种文字符号,规划一个同一的编码序列。你应该是在用文本文档对吧?点另存为,然后在下面编码的地方选UNICODE就可以保存了。不过这个文档不一定在某些设备上能打开,有些低端的手机就不能打开。

Unicode和ASCII的区别是什么

ascii是一个字节,但是unicode可不一定就是两个字节. ascii只能表示英文数字和常用标点符号,编码在1-127之间.unicode可以表示所有字符,编码范围很大.ascii 能表示256个符号,低128个是英文 数字 标点 与一些不可显示字符高128个在不同的代码页上会表示不同的内容,就像繁体中文与简体中文一样,繁体中文的txt(ascii)在简体下打开就是乱码 unicode就不存在问题,因为能表是65000个字符,因此不会有重复字符发生unicode正在慢慢取代ascii ,windows 2000开始系统的核心就是unicode的

utf8和unicode编码究竟是什么关系?有何区别?

什么是Unicode。Unicode的基本目标是统一所有的编码,即它包含所有的字符集。这样只要一个系统支持Unicode,那么,就能处理这些字符集。一般Unicode有两个字节。现在的windows操作系统都是支持Unicode的。什么是UTF8呢?UTF8是一种Unicode编码,即它的编码的字符集和Unicode是一致的。但编码的方式不一样。对于英文字符来讲,UTF8的编码和一般的一样,用到一个字节。但对于中文来讲,那么要用三个字节表示(记忆中是三个)。UTF8和Unicode的缺点是在处理查找、搜索等问题时,好像算法上比较复杂,效率不高(记忆中)。

什么事unicode文本?和普通文本有什么区别?

UNICODE是用两个字节存储一个字符。这样可以表示更多的字符。

Unicode文本是怎么样的?后缀名是什么?

这个是没区别的,区别只是里面的编码不一样

什么是字符串的unicode方向属性

Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。作用:能够使计算机实现跨语言、跨平台的文本转换及处理。层次:Unicode 编码系统,可分为编码方式和实现方式两个层次。

什么是 Unicode加密

直接将char 转换成int 得到的就是对应的Unicode码了。。 再用16进制表示就可以了。 java.lang.Integer.toHexString(int i)

什么是Unicode码?它由几个字节组成

Unicode码是一种类似于ASCII码的国际标准编码,采用二字节编码。一般在网络、Windows系统和很多大型软件中得到应用。

python unicode麻烦帮我按句解释下,unicode()函数作用到底是什么?

UNICODE函数wei 预先编写的公式,可以对一个或多个值执行运算,并返回一个或多个值。函数可以简化和缩短工作表中的公式,尤其在用公式执行很长或复杂的计算时的公式语法和用法。如果文本包含部分代理项或数据类型无效,则UNICODE返回错误值#VALUE!。Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以。因为Python的诞生比Unicode标准发布的时间还要早,所以最早的Python只支持ASCII编码,普通的字符串ABC在Python内部都是ASCII编码的。扩展资料Unicode为了解决传统的字符编码方案的局限而产生的,例如ISO 8859所定义的字符虽然在不同的国家中广泛地使用,可是在不同国家间却经常出现不兼容的情况。很多传统的编码方式都有一个共同的问题,即容许电脑处理双语环境(通常使用拉丁字母以及其本地语言),但却无法同时支持多语言环境(指可同时处理多种语言混合的情况)。Unicode编码包含了不同写法的字,如“ɑ/a”、“户/户/戸”。然而在汉字方面引起了一字多形的认定争议。参考资料来源:百度百科-Unicode参考资料来源:百度百科-UNICODE 函数

utf8和unicode编码究竟是什么关系?有何区别?

什么是 Unicode?历史上, 有两个独立的, 创立单一字符集的尝试. 一个是国际标准化组织(ISO)的 ISO 10646 项目, 另一个是由(一开始大多是美国的)多语言软件制造商组成的协会组织的 Unicode 项目. 幸运的是, 1991年前后, 两个项目的参与者都认识到, 世界不需要两个不同的单一字符集. 它们合并双方的工作成果, 并为创立一个单一编码表而协同工作. 两个项目仍都存在并独立地公布各自的标准, 但 Unicode 协会和 ISO/IEC JTC1/SC2 都同意保持 Unicode 和 ISO 10646 标准的码表兼容, 并紧密地共同调整任何未来的扩展.Unicode vs ISO 10646Unicode 协会公布的 Unicode 标准 严密地包含了 ISO 10646-1 实现级别3的基本多语言面. 在两个标准里所有的字符都在相同的位置并且有相同的名字.Unicode 标准额外定义了许多与字符有关的语义符号学, 一般而言是对于实现高质量的印刷出版系统的更好的参考. Unicode 详细说明了绘制某些语言(比如阿拉伯语)表达形式的算法, 处理双向文字(比如拉丁与希伯来文混合文字)的算法和 排序与字符串比较 所需的算法, 以及其他许多东西.另一方面, ISO 10646 标准, 就象广为人知的 ISO 8859 标准一样, 只不过是一个简单的字符集表. 它指定了一些与标准有关的术语, 定义了一些编码的别名, 并包括了规范说明, 指定了怎样使用 UCS 连接其他 ISO 标准的实现, 比如 ISO 6429 和 ISO 2022. 还有一些与 ISO 紧密相关的, 比如 ISO 14651 是关于 UCS 字符串排序的.考虑到 Unicode 标准有一个易记的名字, 且在任何好的书店里的 Addison-Wesley 里有, 只花费 ISO 版本的一小部分, 且包括更多的辅助信息, 因而它成为使用广泛得多的参考也就不足为奇了. 然而, 一般认为, 用于打印 ISO 10646-1 标准的字体在某些方面的质量要高于用于打印 Unicode 2.0的. 专业字体设计者总是被建议说要两个标准都实现, 但一些提供的样例字形有显著的区别. ISO 10646-1 标准同样使用四种不同的风格变体来显示表意文字如中文, 日文和韩文 (CJK), 而 Unicode 2.0 的表里只有中文的变体. 这导致了普遍的认为 Unicode 对日本用户来说是不可接收的传说, 尽管是错误的.UTF-8首先 UCS 和 Unicode 只是分配整数给字符的编码表. 现在存在好几种将一串字符表示为一串字节的方法. 最显而易见的两种方法是将 Unicode 文本存储为 2 个 或 4 个字节序列的串. 这两种方法的正式名称分别为 UCS-2 和 UCS-4. 除非另外指定, 否则大多数的字节都是这样的(Bigendian convention). 将一个 ASCII 或 Latin-1 的文件转换成 UCS-2 只需简单地在每个 ASCII 字节前插入 0x00. 如果要转换成 UCS-4, 则必须在每个 ASCII 字节前插入三个 0x00.在 Unix 下使用 UCS-2 (或 UCS-4) 会导致非常严重的问题. 用这些编码的字符串会包含一些特殊的字符, 比如 "" 或 "/", 它们在 文件名和其他 C 库函数参数里都有特别的含义. 另外, 大多数使用 ASCII 文件的 UNIX 下的工具, 如果不进行重大修改是无法读取 16 位的字符的. 基于这些原因, 在文件名, 文本文件, 环境变量等地方, UCS-2 不适合作为 Unicode 的外部编码.在 ISO 10646-1 Annex R 和 RFC 2279 里定义的 UTF-8 编码没有这些问题. 它是在 Unix 风格的操作系统下使用 Unicode 的明显的方法.UTF-8 有一下特性: UCS 字符 U+0000 到 U+007F (ASCII) 被编码为字节 0x00 到 0x7F (ASCII 兼容). 这意味着只包含 7 位 ASCII 字符的文件在 ASCII 和 UTF-8 两种编码方式下是一样的. 所有 >U+007F 的 UCS 字符被编码为一个多个字节的串, 每个字节都有标记位集. 因此, ASCII 字节 (0x00-0x7F) 不可能作为任何其他字符的一部分. 表示非 ASCII 字符的多字节串的第一个字节总是在 0xC0 到 0xFD 的范围里, 并指出这个字符包含多少个字节. 多字节串的其余字节都在 0x80 到 0xBF 范围里. 这使得重新同步非常容易, 并使编码无国界, 且很少受丢失字节的影响. 可以编入所有可能的 231个 UCS 代码 UTF-8 编码字符理论上可以最多到 6 个字节长, 然而 16 位 BMP 字符最多只用到 3 字节长. Bigendian UCS-4 字节串的排列顺序是预定的. 字节 0xFE 和 0xFF 在 UTF-8 编码中从未用到. 下列字节串用来表示一个字符. 用到哪个串取决于该字符在 Unicode 中的序号.U-00000000 - U-0000007F: 0xxxxxxx U-00000080 - U-000007FF: 110xxxxx 10xxxxxx U-00000800 - U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx U-00010000 - U-001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx U-00200000 - U-03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx U-04000000 - U-7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx xxx 的位置由字符编码数的二进制表示的位填入. 越靠右的 x 具有越少的特殊意义. 只用最短的那个足够表达一个字符编码数的多字节串. 注意在多字节串中, 第一个字节的开头"1"的数目就是整个串中字节的数目.例如: Unicode 字符 U+00A9 = 1010 1001 (版权符号) 在 UTF-8 里的编码为:11000010 10101001 = 0xC2 0xA9而字符 U+2260 = 0010 0010 0110 0000 (不等于) 编码为:11100010 10001001 10100000 = 0xE2 0x89 0xA0这种编码的官方名字拼写为 UTF-8, 其中 UTF 代表 UCS Transformation Format. 请勿在任何文档中用其他名字 (比如 utf8 或 UTF_8) 来表示 UTF-8, 当然除非你指的是一个变量名而不是这种编码本身.

unicode是什么格式

我说一个办法 不知道可不可以啊 因为我也不怎么懂 o(∩_∩)o... 我想把word文字复制到“文本文档”应该是txt的 然后再“另存为” 我是用的是vista系统在“另存为”里会出现一个编码的选项 里面就有Unicode 然后选它就好了,我不知道其他的系统可不可以用,我是这么弄得 呵呵o(∩_∩)o... 下面的东西是我copy别人的你可以看看,但好像不怎么解决问题o(∩_∩)o...Unicode格式的最初目标。是用1个16位的编码来为超过65000字符提供映射。但这还不够。它不能覆盖全部历史上的文字。也不能解决传输的问题(implantation head-ache"s)。尤其在那些基于网络的应用中。因此。Unicode用一些基本的保留字符制定了三套编码方式。它们分别是UTF-8,UTF-16和UTF-32。正如名字所示。在UTF-8中。字符是以8位序列来编码的。用一个或几个字节来表示一个字符。这种方式的最大好处。是UTF-8保留了ASCII字符的编码做为它的一部分。例如。在UTF-8和ASCII中。“A”的编码都是0x41.UTF-16和UTF-32分别是Unicode的16位和32位编码方式。考虑到最初的目的。通常说的Unicode就是指UTF-16。 其实 我也不怎么懂 等我弄懂了告诉你呗 可能到那时候 早就有答案了 o(∩_∩)o。

什么是unicode压缩

unicode是编码的一种标准从兼容性考虑 不要压缩压缩后数据量会小了一半

python unicode麻烦帮我按句解释下,unicode()函数作用到底是什么?

就是返回按照myCodec="iso8859"解释的unicode字符串。。。

什么是unicode编码?

例:http://zhidao.baidu.com/q?word=%C9%E8%D6%C3%B9%D8%D7%A2%B7%D6%C0%E0&ct=17&pn=0&tn=ikaslist&rn=10这段就是%C9%E8%D6%C3%B9%D8%D7%A2%B7%D6%C0%

unicode编码是什么意思

世界上存在着多种编码方式,同1个二进制数字可以被解释成不一样的符号。因此,要想打开(OPEN)1个文本文件,就必须知道它的编码方式,否则用错误的编码方式解读,就会出现乱码。为啥电子email常常出现乱码?就是由于发信人和收信人用的编码方式不一样。可以想象,假如有一种编码,将世界上全部的符号都纳入其中。每1个符号都给予1个独一无二的编码,那么乱码问题就会消失。这就是Unicode,就像它的名字都表示的,这是一种全部符号的编码。历史上存在2个试图独立设计Unicode的组织,即国际标准化组织(ISO)和1个软件制造商的协会(unicode.org)。ISO开发了ISO10646项目,Unicode协会开发了Unicode项目。在1991年前后,双方都认识到世界不要2个不兼容的字符集。于是它们开始合并双方的工作成果,并为创立1个单一编码表而协同工作。从Unicode2.0开始,Unicode项目采用了与ISO10646-1相同的字库和字码。目前2个项目仍都存在,并独立地公布各自的标准。Unicode协会目前的最新版本是2005年的Unicode4.1.0。ISO的最新标准是10646-3:2003。Unicode是1个很大的集合,目前的规模可以容纳100多万个符号。每一个符号的编码都不一样,例如,U+0639表示阿拉伯字母Ain,U+0041表示英语的大写字母A,U+4E00表示汉字"一"。具体的符号对应表,可以查找unicode.org,或专门的汉字对应表。Unicode的问题要注意的是,Unicode只是1个符号集,它只规定了符号的二进制代码,却木有规定这个二进制代码应当怎么存储。例如,汉字"一"的unicode是十六进制数4E00,转换成二进制数足足有15位(100111000000000),也就是说这个符号的表示至少要2个字节。而表示其他更大的符号,可能要3个字节或4个字节,甚至更多。这里就有2个的问题,1个是,怎么才可以区别unicode和ascii?计算机怎麽知道三个字节表示1个符号,而不是分别表示三个符号呢?第二个问题是,我们已经知道,英文字母只用1个字节表示就够了,假如unicode统一规定,每一个符号用三个或四个字节表示,那么每一个英文字母前都必然有二到三个字节是0,这对于存储空间来说是极大的浪费,文本文件的大小会因此大出二三倍,这是难以接受的。它们造成的直接结果是:出现了unicode的多种存储方式,也就是说有许多种不一样的二进制格式,可以用来表示unicode。另外unicode在很长一段时间内没方法推广,直到互联网的出现。网络(互联网)上流行的utf-8就是unicode编码的一类应用.怎么查找Unicode编码在Windows系统(System)下,你可以在运行栏输入"eudcedit.exe"调出使用TrueType造字程序,在其中的窗口--参照页,在"代码"栏输入Unicode编码可以查找到相应的字符;在"形状"栏输入字符则可以查找到相应的Unicode编码。

utf8和unicode编码究竟是什么关系?有何区别

什么是 Unicode?历史上, 有两个独立的, 创立单一字符集的尝试. 一个是国际标准化组织(ISO)的 ISO 10646 项目, 另一个是由(一开始大多是美国的)多语言软件制造商组成的协会组织的 Unicode 项目. 幸运的是, 1991年前后, 两个项目的参与者都认识到, 世界不需要两个不同的单一字符集. 它们合并双方的工作成果, 并为创立一个单一编码表而协同工作. 两个项目仍都存在并独立地公布各自的标准, 但 Unicode 协会和 ISO/IEC JTC1/SC2 都同意保持 Unicode 和 ISO 10646 标准的码表兼容, 并紧密地共同调整任何未来的扩展.Unicode vs ISO 10646Unicode 协会公布的 Unicode 标准 严密地包含了 ISO 10646-1 实现级别3的基本多语言面. 在两个标准里所有的字符都在相同的位置并且有相同的名字.Unicode 标准额外定义了许多与字符有关的语义符号学, 一般而言是对于实现高质量的印刷出版系统的更好的参考. Unicode 详细说明了绘制某些语言(比如阿拉伯语)表达形式的算法, 处理双向文字(比如拉丁与希伯来文混合文字)的算法和 排序与字符串比较 所需的算法, 以及其他许多东西.另一方面, ISO 10646 标准, 就象广为人知的 ISO 8859 标准一样, 只不过是一个简单的字符集表. 它指定了一些与标准有关的术语, 定义了一些编码的别名, 并包括了规范说明, 指定了怎样使用 UCS 连接其他 ISO 标准的实现, 比如 ISO 6429 和 ISO 2022. 还有一些与 ISO 紧密相关的, 比如 ISO 14651 是关于 UCS 字符串排序的.考虑到 Unicode 标准有一个易记的名字, 且在任何好的书店里的 Addison-Wesley 里有, 只花费 ISO 版本的一小部分, 且包括更多的辅助信息, 因而它成为使用广泛得多的参考也就不足为奇了. 然而, 一般认为, 用于打印 ISO 10646-1 标准的字体在某些方面的质量要高于用于打印 Unicode 2.0的. 专业字体设计者总是被建议说要两个标准都实现, 但一些提供的样例字形有显著的区别. ISO 10646-1 标准同样使用四种不同的风格变体来显示表意文字如中文, 日文和韩文 (CJK), 而 Unicode 2.0 的表里只有中文的变体. 这导致了普遍的认为 Unicode 对日本用户来说是不可接收的传说, 尽管是错误的.UTF-8首先 UCS 和 Unicode 只是分配整数给字符的编码表. 现在存在好几种将一串字符表示为一串字节的方法. 最显而易见的两种方法是将 Unicode 文本存储为 2 个 或 4 个字节序列的串. 这两种方法的正式名称分别为 UCS-2 和 UCS-4. 除非另外指定, 否则大多数的字节都是这样的(Bigendian convention). 将一个 ASCII 或 Latin-1 的文件转换成 UCS-2 只需简单地在每个 ASCII 字节前插入 0x00. 如果要转换成 UCS-4, 则必须在每个 ASCII 字节前插入三个 0x00.在 Unix 下使用 UCS-2 (或 UCS-4) 会导致非常严重的问题. 用这些编码的字符串会包含一些特殊的字符, 比如 "" 或 "/", 它们在 文件名和其他 C 库函数参数里都有特别的含义. 另外, 大多数使用 ASCII 文件的 UNIX 下的工具, 如果不进行重大修改是无法读取 16 位的字符的. 基于这些原因, 在文件名, 文本文件, 环境变量等地方, UCS-2 不适合作为 Unicode 的外部编码.在 ISO 10646-1 Annex R 和 RFC 2279 里定义的 UTF-8 编码没有这些问题. 它是在 Unix 风格的操作系统下使用 Unicode 的明显的方法.UTF-8 有一下特性: UCS 字符 U+0000 到 U+007F (ASCII) 被编码为字节 0x00 到 0x7F (ASCII 兼容). 这意味着只包含 7 位 ASCII 字符的文件在 ASCII 和 UTF-8 两种编码方式下是一样的. 所有 >U+007F 的 UCS 字符被编码为一个多个字节的串, 每个字节都有标记位集. 因此, ASCII 字节 (0x00-0x7F) 不可能作为任何其他字符的一部分. 表示非 ASCII 字符的多字节串的第一个字节总是在 0xC0 到 0xFD 的范围里, 并指出这个字符包含多少个字节. 多字节串的其余字节都在 0x80 到 0xBF 范围里. 这使得重新同步非常容易, 并使编码无国界, 且很少受丢失字节的影响. 可以编入所有可能的 231个 UCS 代码 UTF-8 编码字符理论上可以最多到 6 个字节长, 然而 16 位 BMP 字符最多只用到 3 字节长. Bigendian UCS-4 字节串的排列顺序是预定的. 字节 0xFE 和 0xFF 在 UTF-8 编码中从未用到. 下列字节串用来表示一个字符. 用到哪个串取决于该字符在 Unicode 中的序号.U-00000000 - U-0000007F: 0xxxxxxx U-00000080 - U-000007FF: 110xxxxx 10xxxxxx U-00000800 - U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx U-00010000 - U-001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx U-00200000 - U-03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx U-04000000 - U-7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx xxx 的位置由字符编码数的二进制表示的位填入. 越靠右的 x 具有越少的特殊意义. 只用最短的那个足够表达一个字符编码数的多字节串. 注意在多字节串中, 第一个字节的开头"1"的数目就是整个串中字节的数目.例如: Unicode 字符 U+00A9 = 1010 1001 (版权符号) 在 UTF-8 里的编码为:11000010 10101001 = 0xC2 0xA9而字符 U+2260 = 0010 0010 0110 0000 (不等于) 编码为:11100010 10001001 10100000 = 0xE2 0x89 0xA0这种编码的官方名字拼写为 UTF-8, 其中 UTF 代表 UCS Transformation Format. 请勿在任何文档中用其他名字 (比如 utf8 或 UTF_8) 来表示 UTF-8, 当然除非你指的是一个变量名而不是这种编码本身.

unicode码是什么?

Unicode码扩展自ASCII字元集。在严格的ASCII中,每个字元用7位元表示,或者电脑上普遍使用的每字元有8位元宽;而Unicode使用全16位元字元集。这使得Unicode能够表示世界上所有的书写语言中可能用於电脑通讯的字元、象形文字和其他符号。Unicode最初打算作为ASCII的补充,可能的话,最终将代替它。考虑到ASCII是电脑中最具支配地位的标准,所以这的确是一个很高的目标。   Unicode影响到了电脑工业的每个部分,但也许会对作业系统和程式设计语言的影响最大。从这方面来看,我们已经上路了。Windows NT从底层支援Unicode。   目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Interchange,美国标准信息交换码),它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准。适用于所有拉丁文字字母,ASCII码有7位码和8位码两种形式。   因为1位二进制数可以表示(21=)2种状态:0、1;而2位二进制数可以表示(22)=4种状态:00、01、10、11;依次类推,7位二进制数可以表示(27=)128种状态,每种状态都唯一地编为一个7位的二进制码,对应一个字符(或控制码),这些码可以排列成一个十进制序号0~127。所以,7位ASCII码是用七位二进制数进行编码的,可以表示128个字符。   第0~32号及第127号(共34个)是控制字符或通讯专用字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BEL(振铃)等;   通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;   第33~126号(共94个)是字符,其中第48~57号为0~9十个阿拉伯数字;65~90号为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。   注意:在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位),其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。   Unicode码:Unicode码也是一种国际标准编码,采用二个字节编码,与ANSI码不兼容。目前,在网络、Windows系统和很多大型软件中得到应用。

请问高手“要保存Unicode信息,单击下面的取消,然后从编码列表选择一个Unicode选项”是什么意思?

记事本【另存为】新文件时,【编码】中缺省的是“ANSI”,在下拉菜单中选定“unicode”即可。

QQ密码中的UNICODE码是什么东西?

基本上,计算机只是处理数字。它们指定一个数字,来储存字母或其他字符。在创造Unicode之前,有数百种指定这些数字的编码系统。没有一个编码可以包含足够的字符:例如,单单欧州共同体就需要好几种不同的编码来包括所有的语言。即使是单一种语言,例如英语,也没有哪一个编码可以适用于所有的字母,标点符号,和常用的技术符号。 这些编码系统也会互相冲突。也就是说,两种编码可能使用相同的数字代表两个不同的字符,或使用不同的数字代表相同的字符。任何一台特定的计算机(特别是服务器)都需要支持许多不同的编码,但是,不论什么时候数据通过不同的编码或平台之间,那些数据总会有损坏的危险。 Unicode正在改变所有这一切! Unicode给每个字符提供了一个唯一的数字,不论是什么平台,不论是什么程序,不论什么语言。Unicode标准已经被这些工业界的领导们所采用,例如:Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys和其它许多公司。最新的标准都需要Unicode,例如XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML等等,并且,Unicode是实现ISO/IEC 10646的正规方式。许多操作系统,所有最新的浏览器和许多其他产品都支持它。Unicode标准的出现和支持它工具的存在,是近来全球软件技术最重要的发展趋势。 将Unicode与客户服务器或多层应用程序和网站结合,比使用传统字符集节省费用。Unicode使单一软件产品或单一网站能够贯穿多个平台,语言和国家,而不需要重建。它可将数据传输到许多不同的系统,而无损坏。 关于Unicode学术学会 Unicode学术学会是一个非盈利的组织,是为发展,扩展和推广使用Unicode标准而建立的,Unicode学术学会设立了现代软件产品和标准文本的表示法。学术学会的会员代表了广泛领域的计算机和资讯工业的公司和组织。学术学会只由会员提供资金。Unicode学术学会的会员资格开放给世界上任何支持Unicode标准和希望协助其扩展和执行的组织及个人。 欲知更多信息,请参阅术语词汇表,Unicode产品样本,技术简介和参考资料

unicode文本是什么意思

unicode文本是用unicode编码写成的文本。普通文本是用英文ASCII编码写成的文本。unicode用16位码,ASCII用7位码,编码涵义,各有各的定义。汉字国标码GB虽然也是16位码,但编码涵义与unicode完全不同。unicode文本除用16位码外还要有一定的结构,用来区分语种的开始结束。显示unicode文本,除须显示软件外,还要有相应的某国语言的 unicode font(字体文件)。

Unicode字符是什么意思

UNICODE使任何语言的字符都可以为机器更容易的接受,UNICODE由UC(UNICODE协会)管理并接受其技术上的修改。包括JAVA、LDAP、XML这样的技术标准中均要求得到UNICODE的支持。UNICODE的字符被成为代码点(CODE POINTS),用U后面加上XXXX来表示,其中,X为16进制的字符。 对于英文来说,ascii码 0-127就足以代码所有字符,对于中文而言,则必须使用两个字节(byte)来代表一个字符,具第一个字节必须大于127(所以我们有许程序判断中文都是以ascii码大于127作为条件)。以上用两个字节来表示一个中文的方式,在习惯上称为双字节(即DBCS: Double-Byte Character Set),而相对之下,英文的字符码就称为单字节SBCS(Single-Byte Character Set)。 虽然双字节(DBCS)足以解决中英文字符混合使用情况,但对于不同字符系统而言,必须经过字符码转换,非常麻烦。例如:中英文混合情况,日文,韩文等等。为解决这个问题,国际标准组织于1984年4月成立ISO/IEC JTC1/SC2/WG2工作组。针对各国文字、符号进行统一性编码。1991年美国跨国公司成立Unicode Consortium。并于1991年10月与WG2达成协议。采用同一编码字集。目前Unicode是采用16位编码体系。其字符集内容与ISO10646的BMP(Basic Multilingual Plane)相同。Unicode于1992年6月通过DIS(Draf International Standard)。目前版本V2.0于1996公布。内容包含符号6811个。汉字20902个。韩文拼音11172个。造字区6400个。保留20249个。共计65534个。 随着国际互联网的迅速发展。要求进行数据交换的需求越来越大。不同的编码体系越来越成为信息交换的障碍。而且多种语言共存的文档不断增多。单靠代码页已很难解决这些问题。于是UNICODE应运而生。 UNICODE有双重含义。首先UNICODE是对国际标准ISO/IEC10646编码的一种称谓(ISO/IEC10646是一个国际标准。亦称大字符集。它是ISO于1993年颁布的一项重要国际标准。其宗旨是全球所有文种统一编码)。另外它又是由美国的HP、Microsoft、IBM、Apple等大企业组成的联盟集团的名称。成立该集团的宗旨就是要推进多文种的统一编码。 UNICODE同现在流行的代码页最显著不同点在于:UNICODE是两字节的全编码。对于ASCII字符它也使用两字节表示。代码页是通过高字节的取值范围来确定是ASCII字符。还是汉字的高字节。如果发生数据损坏。某处内容破坏。则会引起其后汉字的混乱。UNICODE则一律使用两个字节表示一个字符。最明显的好处是它简化了汉字的处理过程。 UNICODE使用平面来描述编码空间。每个平面分为256行。256列。相对于两字节编码的高低两个字节。 UNICODE的第一个平面。称为Basic Multilingual Plane(基本多文种平面)。简称BMP。由于BMP仅用两个字节表示。所以倍受青睐。 Unicode的最初目标。是用1个16位的编码来为超过65000字符提供映射。但这还不够。它不能覆盖全部历史上的文字。也不能解决传输的问题(implantation head-ache"s)。尤其在那些基于网络的应用中。因此。Unicode用一些基本的保留字符制定了三套编码方式。它们分别是UTF-8,UTF-16和UTF-32。正如名字所示。在UTF-8中。字符是以8位序列来编码的。用一个或几个字节来表示一个字符。这种方式的最大好处。是UTF-8保留了ASCII字符的编码做为它的一部分。例如。在UTF-8和ASCII中。“A”的编码都是0x41.UTF-16和UTF-32分别是Unicode的16位和32位编码方式。考虑到最初的目的。通常说的Unicode就是指UTF-16。 多年来。计算机普遍采用美国信息交换标准代码(American Standard Code for Information Interchange,简称ASCII码)来表示字符。这些字符可以是字母。数字。标点符号和控制符。用这种编码来表示英文在内的字符不成问题的。但要表示其它语言文字如。阿拉伯文。中文。日文。维文。哈文…必须进行扩充。在1987年。Xerox Palo Alto研究中心的Joe Becker和Lee Collins。以及Apple公司的Mark Davis试图研究一种适用于多文种处理的字符编码。这种编码很快就得到了许多大公司的支持。这些公司都派代表参加Unicode研究组。Unicode的研究得到了较快的进展。由于Unicode集团的成员都是世界上的主要系统及软件制造商。所以Unicode很快就成为事实上的工业标准。 基于Unicode的系统允许使用65000个不同的字符。足以善盖世界所有语言的所有字母。外加数千种符号。 其中。General Scripts区单独收录了19种语言文字。包括ASCII,Latin1,Greek,Cyrillic,Armenian,Hedrew,Arabic,Devanagari,Bengali ,Gurmukhi,Gujarati,Oriya,Tamil,Telugu,Kannada,Malayalam,Thai,Lao,Tibetan,Georgian等语言文字之外。还包括汉语。日语和朝鲜语中的所有大量字符。 Unicode是一种定长的2B多文种字符集编码。它试图善盖现有的有关国家和地区的标准。包括GB2312,CNS11643,JIS 0208和KSC 5601等。Unicode可以表示混合文字资料。也可以保证以前的ISO 10646。 Unicode的特点是: 不管哪一国的字符码均以两个Byte表示,例如"A"在Unicode则是16进制 41和00的组合,即4100,高位41(转换为Ascii码即是65=A),Windows NT/2000以Unicode来表示字符集,例如你可以看到MS SQL Server中产生的SQL文件可以选择是以Unicode来保存还是以普通格式来保存,如果你以Unicode保存,则在95/98平台许多软件均无法正确读出其格式。 同时你还可以注意到95/98中API定义,许多名称结尾是有一个A的,例如 WriteProfileStringA 而在NT/2000操作系统中,提供了两套API,另外一个命令是WriteProfileStringW,以W 结尾的API只适用于NT / 2000。(在NT中使用以W结尾的API函数效率比A结尾的要快,因为省去了Unicode和DBCS/SBCS的转换过程) 这样我们经常要用到的判断字符串长度的函数,在NT和95/98下执行结果不同,如下:(下面代码适合于VB, ASP) 95/98中: len("abc中国") 返回 7 (因为每个中文作为两个Ascii码来看) NT/2000中: len("abc中国") 返回 5 (因为每个字符都作为一个Unicode来看)

Unicode字符是什么

Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。作用:能够使计算机实现跨语言、跨平台的文本转换及处理。层次:Unicode 编码系统,可分为编码方式和实现方式两个层次。

unicode编码是什么?

Unicode是一种字符编码方案,它为每种语言中的每个字符都设定了统一唯一的二进制编码,以实现跨语言、跨平台进行文本转换、处理的要求。Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。目前的Unicode字符分为17组编排,0x0000至0x10FFFF,每组称为平面(Plane),而每平面拥有65536个码位,共1114112个。Unicode 编码表BMP SMP SIP SSP0000—0FFF 8000—8FFF 10000—10FFF 20000—20FFF 28000—28FFF E0000—E0FFF1000—1FFF 9000—9FFF 21000—21FFF 29000—29FFF2000—2FFF A000—AFFF 12000—12FFF 22000—22FFF 2A000—2AFFF3000—3FFF B000—BFFF 23000—23FFF4000—4FFF C000—CFFF 24000—24FFF 2F000—2FFFF5000—5FFF D000—DFFF 1D000—1DFFF 25000—25FFF6000—6FFF E000—EFFF 26000—26FFF7000—7FFF F000—FFFF 1F000—1FFFF 27000—27FFF

unicode编码是什么?

Unicode编码是一种字符编码方案。它为每种语言中的每个字符都设定了统一唯一的二进制编码,以实现跨语言、跨平台进行文本转换、处理的要求。Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。目前的Unicode字符分为17组编排,0x0000至0x10FFFF,每组称为平面(Plane),而每平面拥有65536个码位,共1114112个。主要内容为了使Unicode与已存在和广泛使用的旧有编码互相兼容,尤其是差不多所有电脑系统都支援的基本拉丁字母部分,所以Unicode的首256字符仍旧保留给ISO8859-1所定义的字符,使既有的西欧语系文字的转换不需特别考量。另方面因相同的原因,Unicode把大量相同的字符重复编到不同的字符码中去,使得旧有纷杂的编码方式得以和Unicode编码间互相直接转换,而不会遗失任何资讯。

unicode编码是什么?

Unicode是一种字符编码方案,它为每种语言中的每个字符都设定了统一唯一的二进制编码,以实现跨语言、跨平台进行文本转换、处理的要求。Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。目前的Unicode字符分为17组编排,0x0000至0x10FFFF,每组称为平面(Plane),而每平面拥有65536个码位,共1114112个。编码U+0041 A 拉丁字母 A。U+0042 B 拉丁字母 B。U+0043 C 拉丁字母 C。U+0044 D 拉丁字母 D。U+0045 E 拉丁字母 E。U+0046 F 拉丁字母 F。U+0047 G 拉丁字母 G。U+0048 H 拉丁字母 H。

unicode编码是什么?

Unicode是一种字符编码方案,它为每种语言中的每个字符都设定了统一唯一的二进制编码,以实现跨语言、跨平台进行文本转换、处理的要求。Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。目前的Unicode字符分为17组编排,0x0000至0x10FFFF,每组称为平面(Plane),而每平面拥有65536个码位,共1114112个。主要内容为了使Unicode与已存在和广泛使用的旧有编码互相兼容,尤其是差不多所有电脑系统都支援的基本拉丁字母部分,所以Unicode的首256字符仍旧保留给ISO8859-1所定义的字符,使既有的西欧语系文字的转换不需特别考量。另方面因相同的原因,Unicode把大量相同的字符重复编到不同的字符码中去,使得旧有纷杂的编码方式得以和Unicode编码间互相直接转换,而不会遗失任何资讯。

unicode是什么-

Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode给每个字符提供了一个唯一的数字,不论是什么平台、不论是什么程序、不论是什么语言。Unicode是为了解决传统字符编码方案的局限而产生的,为每种语言中的每个字符都设定了统一唯一的二进制编码,以实现跨语言、跨平台进行文本转换、处理的要求。 Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。目前的Unicode字符分为17组编排,0x0000 至 0x10FFFF,每组称为平面(Plane),而每平面拥有65536个码位,共1114112个。然而目前只用了少数平面。UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。

Unicode 和国标码有什么区别

没有什么关系,GB码国家标准委员会制定的标准,一般的GB码是指GB2312,这是1980年国家制定的标准,也是最早的国家字符集标准。后来为了处理能力的扩展而指定了GBK(国标扩展)码,汉字范围已经增加不少。最新出台(大概去年)的是最新的标准,GB18030。GB,GBK都是双字节编码。GB18030则是一个混合体,包括单字节(0x00-0x7f),双字节(等同于gbk),还有四字节编码(当然这些是非常生僻的汉字)。UNICODE则是一个国际标准(universal code),采用双字节编码,不仅英文字符(包括控制字符)还是汉字都采用双字节编码。其目的在于各国信息的交流,处理上也很方便。(汉字中有一个国家标准叫gb13000,其编码顺序就是和UNICODE兼容的。)

unicode和utf-8是什么关系

彻底搞定各种编码ASCII、ANSI、GBK、utf

Unicode 文件名?指的什么是什么?

Unicode文件名其实就是指一些软件,在保存文件时要求使用者选择保存为Unicode格式的文件名称,因为对于一些非Win32的操作系统,比如Linux系统,在识别像中日韩文这样的双字节文件名时会出现乱码的情况,Unicode为这种问题提供了一种全球化的解决方案。

word无格式文本和无格式的unicode文本有什么区别

无格式文本指的是 ANSI 标准字符,在中文系统中也支持中文。unicode 文本持更多的字符的显示,文仍是纯文本,没有格式信息。例如你使用无格式文粘贴时,一些希腊语和挪威语里的一些字符就会被转为英文半角问号。使用 unicode 文本粘贴则可以正常显示。

非unicode语言是什么

非unicode语言是除Unicode(统一码、万国码、单一码)之外显示的字符编码。Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。多数字符都是这种编码。但由于不同国家和地区采用的字符集不一致,很可能出现无法正常显示所有字符的情况,非Unicode选项作用就是在遇到这种情况时,把非Unicode编码字符按照你选择的语言进行显示。

有关于字符集的问题,什么是Unicode,什么是UTF-8

Unicode是一个(编码字符集.n),它对应着一个专门为Unicode编码字符集收录字符的字库表。一个Unicode编码对应着一个Unicode字库表中的字符,可以说一个Unicode编码就是一个字符在Unicode字库表中的序号【在字库表中排在第几个】。(Unicode编码.n)是一个二进制数。Unicode为了到达其包含全世界所有字符的目的,采用了多个字节表示一个字符的规则【四个字节】,一个字节八个位,一个位上可以有0和1两种状态,一个字节就可以有256状态,N个字节就可以256的N次方种状态,每一种状态对应一个二进制的数字,所以多个字节就可以表示更多的字符,进而使得字库表更大。UTF-8是一种字符编码方案,它是对Unicode进行编码(也就是对二进制数字进行编码),字符编码方案将一个二进制数字映射成一个字节序列。为什么要对Unicode进行再编码,因为Unicode是一个定长的(编码字符.n),这样的方式带来的麻烦就是:假设二进制数值00000001是字符A的编码,它本身只需要一个字节就可以存储在计算机内,然而因为Unicode是定长4个字节,所以A得编码变成了00000000 00000000 00000000 00000001存储在计算机内需要四个字节,进而造成非常大的存储开销 ---- 假如一块硬盘本来可以四个字符A,变成了只能存一个字符A。所以既要使用到Unicode的大的字库表,又要节省存储空间,就需要对Unicode再编码,且是根据(Unicode编码.n)内容 不定长编码 --- UTF-8是一种对(Unicode编码.n)的不定长字符编码方案。UTF-8字符编码方案决定了(Unicode编码.n)在计算机内的存储方式。(Unicode编码.n)经过UTF-8字符编码方案编码之后也可以看做是一个新的二进制数字,(通常用十六进制数字字符表示这个新的二进制的值,它们直接的关系是这个十六进制字符表示的值 等于 这个二进制数字的值)。

什么是ASCII码和Unicode码?

是国际上定的两种二进制表示方法 ASCII是8位的 表示汉字需要两个字节以前大部分应用都使这种 不过有的时候会有乱码出现 UNICODE是16位的 比较好

数据库的数据类型中,Unicode数据是什么意思

统一的字符编码标准, 采用双字节对字符进行编码。该类型可用于存储包括中文、日文、韩文等各类语言数据。

什么是GB码、 BIG5码、 Unicode码?

GB码:GB码是1980年国家公布的简体汉字编码方案,在大陆、新加坡得到广泛的使用,也称国标码。国标码对6763个汉字集进行了编码,涵盖了大多数正在使用的汉字。 GBK码:GBK码是GB码的扩展字符编码,对多达2万多的简繁汉字进行了编码,向下与GB码兼容,简体版Windows是使用GBK作系统内码。BIG5码:BIG5码是针对繁体汉字的汉字编码,目前在台湾、香港的电脑系统中得到普遍应用,繁体版Windows是用Big5作系统内码。Unicode码:Unicode码是最新的国际标准编码,采用二个字节 (16-bit) 编码,收入了几乎所有国家的文字符号,适用于所有语言的作业平台,但与ANSI码不兼容,只应用于支援Unicode的程式。Unicode Little Endian普遍用于x86系统(ie. Intel),而 Unicode Big )Endian 普遍用于RISC 系统 (ie. Alpha, Mac)。

UTF-8,和Unicode是什么关系? UTF-8的全称又是什么?

GB2312的范围比GBK少很多,也就是说所涵盖的中文字符会比GBK格式的少,一旦遇到没办法识别的繁体字或者特殊符号就会乱码。所以一般来说我会选GBK格式来写页面。至于UTF-8嘛,一般我写java的时候才会用到,这种一般适用于大型系统,或者跨语言系统,跨服务器等情况下使用。也就是说国外的ie浏览器也可以直接浏览到中文,而不需要安装中文语言支持包。主要是看你的使用范围,还有就是数据库支持那种编码,这个要跟你数据库的编码对应上来,否则一样会存在乱码的情况。

Unicode标准的全称是什么

Unicode 是基于通用字符集(Universal Character Set)的标准来发展,并且同时也以书本的形式(The Unicode Standard,目前第五版由Addison-Wesley Professional出版,ISBN-10: 0321480910)对外发表。Unicode的学名是"Universal Multiple-Octet Coded Character Set",简称为UCS。

什么是unicode码,它有什么特点

特点是全世界字基本全包括
 1 2  下一页  尾页