java实现中文或其他语言及标点符号等转换成unicode字符串,或unicode的16进制码转换回文字或符号等
package org.analysisitem20181016.test;
public class Code128Test2019052201 {
public static final String UNICODE_PREFIX = "\\u";
public static void main(String[] args) {
String testStr = "丽塔·洛丝薇瑟";
String unicodeText1 = encodeToUnicodeText(testStr);
String unicodeText2 = encodeToUnicodeTextWithoutPrefix(testStr);
System.out.println(unicodeText1);
System.out.println(unicodeText2);
String text = decodeToText(unicodeText2);
System.out.println(text);
testStr = "ラピスラズリ(Dawn)";
unicodeText1 = encodeToUnicodeText(testStr);
unicodeText2 = encodeToUnicodeTextWithoutPrefix(testStr);
System.out.println(unicodeText1);
System.out.println(unicodeText2);
text = decodeToText(unicodeText2);
System.out.println(text);
}
public static String decodeToText(final String unicodeText) {
String text = "";
for(int i = 0; i < unicodeText.length(); i += 4) {
String currentUnicodeText = unicodeText.substring(i, i + 4);
char currentText = (char) Integer.parseInt(currentUnicodeText, 16);
text += currentText;
}
return text;
}
public static String encodeToUnicodeTextWithoutPrefix(final String text) {
char[] utfChar = text.toCharArray();
String unicodeStr = "";
for (int i = 0; i < utfChar.length; i++) {
String hexB = Integer.toHexString(utfChar[i]);
while (hexB.length() < 4) {
hexB = "0" + hexB;
}
unicodeStr += hexB;
}
return unicodeStr;
}
public static String encodeToUnicodeText(final String text) {
char[] utfChar = text.toCharArray();
String unicodeStr = "";
for (int i = 0; i < utfChar.length; i++) {
String hexB = Integer.toHexString(utfChar[i]);
while (hexB.length() < 4) {
hexB = "0" + hexB;
}
hexB = UNICODE_PREFIX + hexB;
unicodeStr += hexB;
}
return unicodeStr;
}
}
运行后效果图:

java实现中文或其他语言及标点符号等转换成unicode字符串,或unicode的16进制码转换回文字或符号等的更多相关文章
- Java 字符串、数值与16进制相互转化
字符串.数值与16进制相互转化 首先创建一个工具类: package c; public class DataUtils { /* * 字节数组转16进制字符串 */ public static St ...
- C语言实现整数和16进制互相转换
编译环境:Dev-C++ 5.2.0.3 使用sprintf()函数实现转换,代码如下: #include <stdio.h> #include <stdlib.h> int ...
- Java 2进制和16进制的转换
Jave使用AES加密后的报文可能会出现乱码的情况,可以将它转化为16进制的字符串. package com.test.aes; /** * * 进制转换工具类 * */ public class P ...
- Java中byte与(16进制)字符串的互相转换
java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示,所以我们就可以把每个byte转换成两个相应的16进制字符,即把byte的高4位和低4位分别转换成相应的16 ...
- Java中byte与16进制字符串的互相转换
* Convert byte[] to hex string.这里我们可以将byte转换成int,然后利用Integer.toHexString(int)来转换成16进制字符串. * @param s ...
- [转]Java中byte与16进制字符串的互相转换
Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示(23 + 22 + 21 + 20 = 15),所以我们就可以把每个byte转换成两个相应的16进制字符, ...
- Java中byte与16进制字符串的互换原理
我们都知道Java中的byte是由8个bit组成的,而16进制即16中状态,它是由4个bit来表示的,因为24=16.所以我们可以把一个byte转换成两个用16进制字符,即把高4位和低4位转换成相应的 ...
- java 16进制与字符串直接相互转换
java 16进制与字符串直接相互转换 CreationTime--2018年7月12日09点39分 Author:Marydon 1.16进制转换成字符串 /** * 16进制直接转换成为字符串 ...
- java byte数组与16进制间的相互转换
java byte数组与16进制间的相互转换 CreationTime--2018年6月11日15点34分 Author:Marydon 1.准备工作 import java.util.Array ...
随机推荐
- Linux下共享库嵌套依赖问题 (转载)
转自:http://my.oschina.net/moooofly/blog/506466 问题场景: 动态库 librabbitmq_r.so 内部依赖动态库 libevent_core.so 和 ...
- POJ3692【二分匹配】
题意: 有男生女生,男生都认识双方,女生都认识双方,给出一些男女关系,问最大拿多少个人,使得所有人都认识双方. 思路: 原图最大团=总结点数-[[补图(补图为二分图)]的最大独立集=最大完全子图的顶点 ...
- 蓝桥杯T42(八数码问题)
题目链接:http://lx.lanqiao.cn/problem.page?gpid=T42 题意:中文题诶- 思路:bfs 将没种九宫格的状态看作一个状态节点,那么只需求起始节点到目标节点的最短路 ...
- hibernate下载
- java利用myeclipse自带三大框架搭建三大框架(Hibernate+Struts2+Spring)过程详解
搭建过程因人而异,我的搭建过程大致是这样的: 1.创建一个javaweb项目: 2.导入Spring框架,上图: 2.1: 2.2: 2.3: 3.导入struts2框架,上图: 3.1: 3.2: ...
- 牛客练习赛42C(枚举权值)
传送门 思路:既然无法枚举每个情况,那就枚举每个出现过的权值,加和.那么每个权值出现了多少次呢?用总数减去一次都选不中这个数的次数即可,类似概率的方法. #include <bits/stdc+ ...
- 基于.net core微服务(Consul、Ocelot、Docker、App.Metrics+InfluxDB+Grafana、Exceptionless、数据一致性、Jenkins)
1.微服务简介 一种架构模式,提倡将单一应用程序划分成一组小的服务,服务之间互相协调.互相配合,为用户提供最终价值.每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(RESTfu ...
- bio,nio,aio简介
https://mp.weixin.qq.com/s/F9WwcsFdCOwOeeDc0oc98w——<BIO,NIO,AIO 总结>总结和对比这三种的区别 https://www.jia ...
- 使用openssl 生成免费证书
阅读目录 一:什么是openssl? 它的作用是?应用场景是什么? 二:使用openssl生成免费证书 回到顶部 一:什么是openssl? 它的作用是?应用场景是什么? 即百度百科说:openssl ...
- c# 定时器 自动执行
//下面讲一个打开窗体定时执行按钮的东西 private void Form1_Load(object sender, EventArgs e) { System.Timers.Timer pTime ...