中文字符串转换为十六进制Unicode编码字符串
package my.unicode; import java.util.regex.Matcher;
import java.util.regex.Pattern; public class UnicodeSwitchChinese
{
/**
*
* 转:http://blog.csdn.net/z69183787/article/details/25742307
*
* 将字符串(不限于中文)转换为十六进制Unicode编码字符串
*/
public static String stringToUnicode(String str)
{
str = (str == null ? "" : str);
String tmpStr = "";
StringBuffer sb = new StringBuffer(1024);
char c;
int j = 0; for (int i = 0; i < str.length(); i++)
{
c = str.charAt(i);
sb.append("\\u"); j = (c >>> 8); //取出高8位
tmpStr = Integer.toHexString(j);
if (tmpStr.length() == 1)
{
sb.append("0");
}
sb.append(tmpStr); j = (c & 0xFF); //取出低8位
tmpStr = Integer.toHexString(j);
if (tmpStr.length() == 1)
{
sb.append("0");
}
sb.append(tmpStr);
} return (sb.toString());
} /*
* 把十六进制Unicode编码字符串转换为中文字符串
*/
public static String unicodeToString(String str)
{
Pattern pattern = Pattern.compile("(\\\\u(\\p{XDigit}{4}))"); Matcher matcher = pattern.matcher(str); char ch; while (matcher.find())
{
ch = (char) Integer.parseInt(matcher.group(2), 16); str = str.replace(matcher.group(1), ch + "");
} return str; } public static void main(String[] args)
{
// 0x0075 和 \u0075 是等价的
System.out.println("0x0075:" + (char) 0x0075);
System.out.println("\\u0075:" + '\u0075'); // 直接以Unicode字符串的方式初始化字符串时,会自动转换为汉子
String s1 = "\u005c\u005c\u0075\u662f\u6807\u8bc6\u0075\u006e\u0069\u0063\u006f\u0064\u0065\u7801\u7528\u7684\uff0c\u540e\u9762\u7684\u0034\u4f4d\u0031\u0036\u8fdb\u5236\u6570\u5219\u662f\u5bf9\u5e94\u5b57\u7b26\u7684\u0075\u006e\u0069\u0063\u006f\u0064\u0065\u7801";
System.out.println("s1: " + s1);// 0x0075 // 转换汉字为Unicode码
String s2 = "unicode编码简而言之就是将每一个字符用16位2进制数标识。但是通常都用4位的16进制数标识。";
s2 = UnicodeSwitchChinese.stringToUnicode(s2);
System.out.println("s2: " + s2); // 转换Unicode码为汉字
String s3 = UnicodeSwitchChinese.unicodeToString(s2); System.out.println("s3: " + s3);
}
}
转:http://www.cnblogs.com/skykang/archive/2011/06/02/2068802.html
中文字符 与 十六进制Unicode编码 相互转换(JavaScript)
转:http://www.cnblogs.com/duanhuajian/archive/2013/04/26/3045144.html
POI:
转:https://community.oracle.com/docs/DOC-887397
转:http://blog.csdn.net/spp_1987/article/details/13770637
中文字符串转换为十六进制Unicode编码字符串的更多相关文章
- c# 实现获取汉字十六进制Unicode编码字符串
1. 汉字转十六进制UNICODE编码字符串 /// <summary> /// //// /// </summary> /// & ...
- C# 实现十六进制Unicode编码字符串转换为汉字
网上找了几个方法,但是运行之后会报错,提示要解析的字符串格式不正确.然后我猜想可能是传入的字符串 \u60a8\u4eca\u65e5\u5df2\u7b7e\u5230 中带"\" ...
- python 将列表嵌套字典的unicode字符串转换为str格式的字符串的方法
今天在进行django开发的过程中遇到了一个非常棘手的问题, 因为需求原因, 需要将一份数据存为json格式到数据库中, 如下面这种格式: list_1 = [{"name":&q ...
- String 字符串中含有 Unicode 编码时,转为UTF-8
1.单纯的Unicode 转码 String a = "\u53ef\u4ee5\u6ce8\u518c"; a = new String(a.getBytes("UTF ...
- php urlencode函数 (中文字符转换为十六进制)
urlencode()函数原理就是首先把中文字符转换为十六进制,然后在每个字符前面加一个标识符%. urldecode()函数与urlencode()函数原理相反,用于解码已编码的 URL 字符串,其 ...
- pytest文档41-参数化 ids 用例描述为中文时控制台输出unicode编码问题(pytest_collection_modifyitems)
前言 使用 pytest.mark.parametrize 参数化的时候,加 ids 参数用例描述有中文时,在控制台输出会显示unicode编码,中文不能正常显示. 使用 pytest_collect ...
- Js字符串与十六进制的相互转换
开发过程中,字符串与十六进.二进制之间的相互转换常常会用到,尤其是涉及到中文的加密时,就需要把中文转换为十六进制.下面说说具体的转换方法. 1.字符串转换为十六进制 主要使用 charCodeAt() ...
- Js字符串与十六进制的相互转换 【转】
开发过程中,字符串与十六进.二进制之间的相互转换常常会用到,尤其是涉及到中文的加密时,就需要把中文转换为十六进制.下面说说具体的转换方法. 1.字符串转换为十六进制 主要使用 charCodeAt() ...
- Python 读取文件中unicode编码转成中文显示问题
Python读取文件中的字符串已经是unicode编码,如:\u53eb\u6211,需要转换成中文时有两种方式 1.使用eval: eval("u"+"\'" ...
随机推荐
- 将JavaScript 插入网页的方法
将JavaScript 插入网页的方法 使用Javascript代码. 插入JavaScript 与在网页中插入CSS的方式相似.使用下面的代码可以在网页中插入JavaScript: ... 其中的. ...
- android layout_weight讲解
Layout_weight是线性布局,也就是LinearLayout里面用到的,下面通过实验来看这个Layout_weight的特性. 1.当控件的属性android:layout_width=&qu ...
- 一口气从CSS讲到Servlet再到JSP、Struts2,清蒸JavaWeb的前前后后。
B/S系统就是Browser/Server,浏览器/服务器系统,即,客户在浏览器操作,而代码实现的具体处理以及数据库操作等,则由后台服务器来完成,男耕女织,相得甚欢.比如我们查询成绩,我们通过浏览器输 ...
- UIkit框架之uiUIapplication
1.继承链:uiresponder:NSObject 2.使用 sharedApplication方法来存取对象 3.这个类可以遵守协议是UIApplicationDelegate 4.获取app的实 ...
- 好用的开源爬虫 jsoup
中文Api http://www.open-open.com/jsoup/ 英文Api https://jsoup.org/
- _crol_和_cror_函数
“_crol_” 与“_cror_”其实就是左右循环代码,其具有程序代码简单执行效率高的优点! 是在单片机c语言编程中常用到的,变量=_crol_(变量名,移动位数),例如:P0=_crol_(P0, ...
- IBM Domino 9 出现 Server Controller 未在主机上运行或未在端口2050监听 解决方案
如果在网上搜索的方法,比如防火墙开端口还没有解决的话,那么我的解决方案可能会解决你的问题. 出现的场景: 我先装了Notes,Designer,后装Domino Server, 配置Domino服务器 ...
- 【转】最佳Restful API 实践
原文转自:https://bourgeois.me/rest/ REST APIs are a very common topic nowaday; they are part of almost e ...
- 29 个你必须知道的 Linux 命令
虽然Linux发行版支持各种各样的饿GUI(graphical user interfaces),但在某些情况下,Linux的命令行接口(bash)仍然是简单快速的.Bash和 Linux Shell ...
- iOS的UIDevice,NSBundle,NSLocale
iOS的APP的应用开发的过程中,有时为了bug跟踪或者获取用反馈的需要自动收集用 户设备.系统信息.应用信息等等,这些信息方便开发者诊断问题,当然这些信息是用户的非隐私信息,是通过开发api可以获取 ...