了解Unicode编码

制定Unicode编码标准的组织有两个,一个是国际标准化组织ISO,一个是多语言软件制造商组成的统一码联盟。

通用字符集UCS(Universal Character Set)是由ISO制定的编码方案,UCS-2用2个字节编码,UCS-4用4个字节编码。

unicode转换格式UTF(Unicode Transformation Format)是根据Unicode字符集按照一定转换规则在计算机上实现的编码方案。

UTF-8是可变长度字符编码,与ASCII码相对应的部分(0x00~0x7F之间的字符)依旧是1个字节代表1个字符,并且规则一致。

UTF-16的大部分字符用2字节存储。在没有辅助平面字符前,UTF-16和UCS-2所指的是同一个意思。但当引入辅助平面字符后,就称为UTF-16了。

注:UTF-8、UTF-16等都是字符编码,虽然和Unicode有关系,但它们不是Unicode编码。

注:Windows平台上的记事本的“另存为”弹出框里的“编码”选项解释如下:

  1. ANSI是默认的编码方式。在英文Windows操作系统中,ANSI编码代表ASCII编码;在简体中文Windows操作系统中,ANSI编码代表GBK编码;在繁体中文Windows操作系统中,ANSI编码代表Big5编码;在日文Windows操作系统中,ANSI编码代表Shift_JIS编码。
  2. Unicode指的是UCS-2编码,采用小端模式。
  3. Unicode big endian也是UCS-2编码,采用大端模式。
  4. UTF-8,自查,不解释。
时间: 2024-10-14 13:58:25

了解Unicode编码的相关文章

解决 iOS NSDictionary 输出中文字符”乱码”(Unicode编码)问题

简单定义一个字典,输出结果: NSDictionary *dic = @{ @"我是中文字符": @"223333", @"aaa": @{ @"aaa": @"啦啦啦" } }; NSLog(@"%@", dic); 将会看到这样的"乱码",这种现象经常在调试服务端返回 JSON 结果的时候遇到: 2015-02-25 19:23:40.346 XXXX[13273

PHP输出json数据时,中文不进行unicode编码

今天在写和API接口时,将PHP数组转成json,但是有个规则是不能用unicode编码 试了几种方法: 若PHP是5.4以上的 可以直接使用JSON_UNESCAPED_UNICODE参数 json_encode('中文测试',JSON_UNESCAPED_UNICODE); 这种方法字符串可行,但是数组不可行(有待验证) 2.将数组中的字符串urlencode,然后将数组json_encode转成json,最后进行urldecode 注:urlencode()和urldecode()将中文字

常用中文字体 Unicode 编码

各大网站的字体选择 网站 字体 腾讯 font: 12px "宋体","Arial Narrow",HELVETICA; 淘宝 font: 12px/1.5 tahoma,arial,'Hiragino Sans GB',\5b8b\4f53,sans-serif; 蘑菇街 font: 12px/1.6 tahoma,arial,sans-serif; SegmentFault font-family: "Helvetica Neue",Helv

Java与编码问题串讲之二–如何理解java采用Unicode编码

Java开发者必须牢记:在Java中字符仅以一种形式存在,那就是Unicode(不选择任何特定的编码,直接使用他们在字符集中的编号,这是统一的唯一方法).由于java采用unicode编码,char 在java中占2个字节.2个字节(16位)来表示一个字符. 这里的Java中是指在JVM中.在内存中.在代码里声明的每一个char.String类型的变量中. 例如: 1 2 3 4 5 6 7 System.out.println(System.getProperty("file.encoding

Unicode编码的原型

Unicode编码定义了这个世界上几乎所有字符(就是你眼睛看到的长那个样子的符号)的数字表示 也就是说Unicode为每个字符发了一张身份证,这张身份证上有一串唯一的数字ID确定了这个字符 在这个纷乱世界上存在的唯一性.Unicode给这串数字ID起了个名字叫[码点](Code Point) 而很多人说的编码其实是想表达[Unicode转换格式](即UTF,Unicode Transformation Formats) 有没有觉得眼前一亮豁然开朗?没错 这就是我们看到的UTF-8/UTF-16/

Unicode 编码解码

1. Regex.Unescape(str);返回Unicode解码,非Unicode直接返回 /// <summary>      /// 2.转为Unicode编码      /// </summary>      /// <param name="str"></param>      /// <returns></returns>  public static  string ToUnicode(string

Unicode编码与中文的转换

1.1.  将unicode编码转换为中文 public String decodeUnicode(String src) { char[] in = src.toCharArray(); char aChar; char[] out = new char[src.length()]; int outLen = 0; int off = 0; int end = src.length(); while (off < end) { aChar = in[off++]; if (aChar == '

unicode 编码在线转换工具--javascript

unicode 编码在线转换工具--javascript 本人在网上搜索,看到有使用javascript做unicode编码转换的,感觉很好玩,所以拿来使用的. 这个功能有目前测试了两种: 1)unicode互相转换,例如\u4e2d\u56fd转换成字符,支持中文和英文: 2)URL编码的解析,例如众所周知的%20是表示空格,还有%24,%33,%44,%62等等: 我相信,只要你试试上面的字符进行解码,你就会知道他们之间关系,如何表示字符,数字,字母. 以上可以直接运行.下面给出相关的JS代

Native2asciiUtil 文本文件转UNICODE编码文件(支持UTF-8,Unicode,UTF-16BE,ANSI|ASCII,GBK)

package com.ctl.util; import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; /** * * @author Administrator * @Description \u5C06\u6587\u672C\u6587\u4EF6\u8F6C\

SQL Server 中怎么查看一个字母的ascii编码或者Unicode编码

参考文章:微信公众号文章 一直对sql中的left和right有误解,一直以为它是这样的. SELECT Mobile FROM dbo.T_User WHERE Id = 1 执行这样一句: SELECT LEFT(Mobile,2) leftNum FROM dbo.T_User WHERE Id = 1 SELECT RIGHT(Mobile,2) rightNum FROM dbo.T_User WHERE Id = 1 出现的结果是这样的: 而我心中这样认为: 我认为只出现第二个. 运