在许多场合中,我们会使用到Unicode码,但是unicode编码的形式我们却没办法直观知道是哪个字符,这样我们就需要对讲Unicode码转换成我们认识的汉字字符。

什么是Unicode?

Unicode(统一码、万国码、单一码、标准万国码)是计算机科学领域里的一项业界标准。它对世界上大部分的文字系统进行了整理、编码,使得电脑可以用更为简化地方式来呈现和处理文字。

–Wikipedia

Unicode字符用什么表示?

Unicode通常使用U+XXXX,XXXX四位十六进制数,例如U+4F60。但是在Unicode 3.0后,Unicode使用“U-”然后紧接着八位十六进制数,在Unicode 3.0之前,使用的”U+”后面跟的四位十六位进制数。

在Java对Unicode的实现就不是用这样表示的。Java的形式是”\uXXXX”,例如”\u4F60” 是汉字“你”。

有时候,我们使用在文件中使用汉字字符,但是当文件的编码发生改变的时候,那么就会出现乱码了。如果我们使用unicode的转移形式(”\uXXXX”)去表示中文,那么我们改变文件的编码的时候,就不会出现乱码了,因为我们使用的是ASCII字面值去存储文本的。

但是这样观看Unicode码不够直观,我们不知道具体是什么汉字,所以我们需要通过转换,这样我们就知道具体对应的是什么汉字了。

将Unicode码转化为汉字字符

public static String UnicodetoString(String s){

String ss[] = s.split("\\\\u");

StringBuilder sb=new StringBuilder(ss.length-1);

for (int i = 1; i < ss.length; i++) {

sb.append((char)Integer.parseInt(ss[i], 16));

}

return sb.toString();

}

获取汉字字符的Unicode码

public static String StirngtoUnicode(String s){

StringBuilder sb=new StringBuilder();

for (int i = 0; i < s.length(); i++) {

sb.append(String.format("\\u%04x", (int)s.charAt(i)));

}

return sb.toString();

}

因为String.format()方法是用return new Formatter().format(format, args).toString();

所以先创建一个Formatter对象,减少对象的使用。

public static String StringtoUnicode(String s){

Formatter formatter = new Formatter();

for (int i = 0; i < s.length(); i++) {

formatter.format("\\u%04x", (int)s.charAt(i));

}

return formatter.toString();

}

http://docs.oracle.com/javase/tutorial/i18n/text/string.html

oracle 汉子转unicode,unicode与字符相互转换相关推荐

  1. Unicode编码和字符相互转换

    Unicode编码和字符相互转换 1. 字符转Unicode编码 (charCodeAt) let s = "abcdef" console.log(s.charCodeAt(2) ...

  2. C# 代码 Unicode码和字符串相互转换

    C# 代码实现 Unicode码和中文字符相互转换 Unicode 定义 Unicode --> 字符串 字符串 --> Unicode C#下好用,在Unity下不好用的方法 正则表达式 ...

  3. 字符编码简介 ANSI Unicode Unicode big endian UTF-8

    1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和 1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte) ...

  4. 【转】刨根究底字符编码之十——Unicode字符集的字符编码方式

    一.字符编码方式CEF的选择 1. 由于Unicode字符集非常大(并且作为开放字符集还在不断扩展之中),有些字符的编号(即码点值)需要两个或两个以上字节来表示,而要对这样的编号进行编码,也必须使用两 ...

  5. [c/c++] programming之路(25)、字符串(六)——memset,Unicode及宽字符,strset

    一.memset #include<stdio.h> #include<stdlib.h> #include<memory.h>void *mymemset(voi ...

  6. 学习正则表达式 - 匹配 Unicode 和其他字符

    目录 一.匹配 Unicode 字符 1. 匹配 emoji 符号 (1)确定 emoji 符号的 Unicode 范围 (2)emoji 符号的存储 (3)正则表达式匹配 2. 匹配中文 (1)确定 ...

  7. oracle中文转换为unicode,oracle 用函数unistr将Oracle数据库中的Unicode转换为中文

    用函数unistr将Oracle数据库中的Unicode转换为中文 1:保留连续的中文 select regexp_substr('Hello,大家好!greeting', '[' || unistr ...

  8. unicode和中文字符互相转换

    简单轻松实现unicode和中文字符之间切换 一 unicode字符转换为中文 public String unicode2Chinese(String str) { StringBuffer sb ...

  9. 详解Unicode和JavaScript字符编码

    Unicode Unicode,又称万国码.统一码和国际码,是由统一码联盟制定的一套规范统一的字符编码集,其设计意图是将世界上所有字符都包含在其中,它使用特定的十六进制编号来表示字符,每一个特定十六进 ...

  10. Java实现全角和半角字符相互转换

    平凡也就两个字: 懒和惰; 成功也就两个字: 苦和勤; 优秀也就两个字: 你和我. 跟着我从0学习JAVA.spring全家桶和linux运维等知识,带你从懵懂少年走向人生巅峰,迎娶白富美! 关注微信 ...

最新文章

  1. java线程锁机制_多线程之锁机制
  2. 程序员的修养--读书笔记
  3. cad2017怎么改变选择方式_CAD编辑对象选择的方法有哪些
  4. 数据库-优化-通过执行计划查询分析SQL执行计划-每个字段的说明
  5. springboot+dynamic多数据源配置
  6. [vue-element] ElementUI表格组件如何实现动态表头?
  7. Mac怎么预览html的网页效果,苹果Mac快速预览网页小技巧
  8. Apollo使用指南(二)公共组件接入指南
  9. 【数据库】范围 通配符 排序(2020.3.18
  10. 计算机职业素养论文1500字,职业素养课后感想1500字
  11. 用EXCEL批量改变文件的名称
  12. 跳马问题:马走日,请问马从0,0位置出发,走到x,y目标点,还必须走k步,有多少种走法
  13. montypython买火柴_python nltk 笔记(持续更新)
  14. [异能程序员]第六章 遛狗(第二更)
  15. linux虚拟机a problem has occurred and the system can‘t recover解决方案
  16. js OO写的一个键盘字母游戏
  17. CityEngine制作玻璃材质反光效果
  18. python入门教学反思_Python语言教学反思
  19. 【转】Win7 更改文件夹背景
  20. 【计算机图形学】结课大作业——光照模型(3D场景)

热门文章

  1. win32 API函数( InvalidateRect)
  2. 如何提高CSDN博客的访问量
  3. Python爬虫从入门到精通:(42)JS逆向-闭包:凡科网逆向分析_Python涛哥
  4. Unix/Linux 中的 grep 命令
  5. instagram包名_如何更改您的Instagram用户名和显示名称
  6. 我的2岁女儿朵朵唱的【北京欢迎你】
  7. python使用什么关键字来定义,使用( )关键字来创建python自定义函数。
  8. 10亿美金的惊天收购!苹果拿下了英特尔手机调制解调器业务
  9. 图象的感光原件、成象原理、相机的相关坐标系
  10. Docker: Create Image from Container