先从编码说起吧,计算机只认识二进制,为了能让计算机识别,我们就定义一个编码标准吧.于是就有了ASCII.

ASCII编码是目前计算机最通用的编码标准。ASCII编码用一个字节存储,因此最多能表示256个字符。

这256个字符对于英语国家来说,足够了,但对于中文等繁杂的文字系统,却远远不够,为了解决这一问题, 国际组织制定了Unicode编码,

它为每种语言中的每个字符设定了唯一的二进制编码.

它是一种可以容纳世界上所有文字和符号的字符编码方案 。

Unicode定义了字符编码方案,但没定义具体实现方案.

根据实现方案不同,分为UTF-8、UTF-16、UTF-32.   UTF-8,UTF-8是互联网上使用最广的一种存储方案.

Unicode规范中定义,每一个文件的最前面分别加入一个表示编码顺序的字符,我们可以用UltraEdit中的”十六进制功能“查看文件的编码,

Unicode编码的文件会以FF FE开头

Unicode big endian (大头方式存储)编码的文件会以FE FF开头

UTF-8 编码的文件会以EF BB BF开头

    Unicode 编码转换

Json传输中文时为了防止乱码,通常我们会进行Unicode编码 ,如{userID:"001",nickname:"\u65e0\u8bed\u68a6" }

下面的代码,将能完成Unicode的与普通字符的转换功能

 1          /**/ /// <summary>
 2        ///  将单个Unicode字符串转换为普通文字,如\u65e0转换为普通文字时,请这样调用ConvertStr("65e0")
 3        /// </summary>
 4        /// <param name="unicodeStr"></param>
 5        /// <returns></returns>
 6          private   string  ConvertStr( string  unicodeStr)
 7          {
 8            if (unicodeStr.Length != 4)
 9            {
10                return String.Empty;
11            }
12
13            byte byteAfter = Convert.ToByte( unicodeStr.Substring(0,2),16);
14            byte byteBefore = Convert.ToByte(unicodeStr.Substring(2), 16);
15
16            return System.Text.Encoding.Unicode.GetString(new byte[] { byteBefore, byteAfter });
17        }
18
19          /**/ /// <summary>
20        ///  将单个字符转换为16进制的Unicode字符串
21        /// </summary>
22        /// <param name="str"></param>
23        /// <returns></returns>
24          public   string  ConvertUnicode( string  str)
25          {
26            Byte[] arrByte =  System.Text.Encoding.Unicode.GetBytes(str);
27
28            string strAfter = Convert.ToString(arrByte[0],16);
29            string strBefore = Convert.ToString(arrByte[1],16);
30
31            return strBefore + strAfter;
32        }

转载于:https://www.cnblogs.com/HappySky/archive/2009/05/26/1489381.html

Unicode编码之我见相关推荐

  1. python 2x list 里面的中文打印效果为unicode 编码 的处理方法

    处理方法如下.这个问题在python 3x 中不会出现 #!/usr/bin/python # -*- coding: utf-8 -*- import sys reload(sys) sys.set ...

  2. 【廖雪峰python入门笔记】Unicode编码_UnicodeDecodeError处理

    1.Unicode编码的由来 字符串还有一个编码问题. 计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以, ...

  3. 程序员趣味读物:谈谈Unicode编码

    2019独角兽企业重金招聘Python工程师标准>>> 这是一篇程序员写给程序员的趣味读物.所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级.整 ...

  4. JavaScript为unicode编码转换为中文

    代码laycode - v1.1 关于这样的数据转换为中文问题,常用的以下方法. 1. eval解析或new Function("'+ str +'")() str = eval( ...

  5. js中将 整数转成字符,,将unicode 编码后的字符还原出来的方法。

    一.将整数转成字符: String.fromCharCode(17496>>8,17496&0xFF,19504>>8,19504&0xFF,12848> ...

  6. 将unicode编码的txt文件转为utf-8编码

    利用codes编写: # coding=UTF-8import stringimport codecsdef changecode(): tt=codecs.open('c:\\111.txt','r ...

  7. 关于Laravel中使用response()方法调用json()返回数据unicode编码转换的问题解决

    关于Laravel中使用response()方法调用json()返回数据unicode编码转换的问题解决 参考文章: (1)关于Laravel中使用response()方法调用json()返回数据un ...

  8. pugixml读取unicode编码的xml文件的做法

    作者:朱金灿 来源:http://blog.csdn.net/clever101 实际上在多字节编码的情况下,即以记事本打开显示的ANSI编码的,如下图: pugixml是可以直接读取中文字符的,示例 ...

  9. 常用汉字的unicode 编码

    包含汉字: 的一是了我不人在他有这个上们来到时大地为子中你说生国年着就那和要她出也得里后自以会家可下而过天去能对小多然于心学么之 都好看起发当没成只如事把还用第样道想作种开美总从无情己面最女但现前些所 ...

最新文章

  1. mysql 分号 存储过程_MySql 存储过程
  2. android上传本地图片到服务器上,Android使用post方式上传图片到服务器的方法
  3. python读取 .mat 文件(matlab文件)
  4. map()和zip()操作
  5. 重磅解读:K8s Cluster Autoscaler模块及对应华为云插件Deep Dive
  6. Flask蓝图使用的方法
  7. 这 35 个 Java 代码优化细节,你用了吗?
  8. 图书馆管理系统用例图
  9. 计算机考试表格函数应用题,2017年职称计算机考试Excel练习题2
  10. mysql8+maven+mybatis
  11. Myshop系统怎么更改服务器,MySHOP_POS收银系统操作手册.pdf
  12. linux 主机名称修改
  13. AAEGan 简介与代码实战
  14. MIUI9系统详细刷成开发版启用root权限的教程
  15. python项目实战:实现王者荣耀敏感词汇过滤器
  16. 剑指offer -- 最长不含重复字符的字符串
  17. U盘安装Ubuntu16.04报unable to find a medium containing a live file system和ACPI Error错误
  18. Kakao拟16亿美元收购韩国最大音乐流媒体服务
  19. 计算机电子极域控制,极域电子教室控制软件操作手册
  20. Android模仿手机京东商城实训小项目(含源码)

热门文章

  1. 【源码分析】redux-thunk
  2. 软件测试人员棘手的问题,一个很棘手的问题,为什么人员全检后还有不良?
  3. java统计在线人数_java统计当前在线数 (转)
  4. 如何查看ocp证书(hands on)的状态以及尽快督促oracle完成审核并且快速发证
  5. pyecharts调整X轴 以及在X轴可拖动
  6. 综科智控无线信号放大器 ZKM-LORA-420-470 技术参数分享
  7. android模拟器背景色,安卓开发者必备的 5 款 App:终端模拟器、颜色萃取、移动 IDE 等...
  8. educoder Git入门之日志和版本回退
  9. 易遨房地产中介管理系统 v7.0 官方
  10. 利息浅谈(六)——我的买房收益率怎么算?LPR转换有何影响?