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 ...
随机推荐
- JAVA基础--JAVA API集合框架(其他集合类,集合原理)15
一.ArrayList介绍 1.ArrayList介绍 ArrayList它是List接口的真正的实现类.也是我们开发中真正需要使用集合容器对象. ArrayList类,它是List接口的实现.肯定拥 ...
- HDU - 1098 - Ignatius's puzzle - ax+by=c
http://acm.hdu.edu.cn/showproblem.php?pid=1098 其实一开始猜测只要验证x=1的时候就行了,但是不知道怎么证明. 题解表示用数学归纳法,假设f(x)成立,证 ...
- 已有项目 iPhoneX 适配
一.Assets 文件图片管理下的 LaunchImage 添加 iOS8.0 and latter 一项,并放一张 1125*2436 的LaunchPage 到对应的位置上. 二.有关 iPhon ...
- Codeforces 67A【模拟】
题意: 给一个字符串代表相邻学生的比较,L代表左边多,R表示右边多,=表示左右相等. 保证每个人拿糖>=1,在分糖最少的情况下,输出每个学生所分得的糖. 思路: 模拟一下,第一个人一开始拿1个, ...
- CodeForces 653A【水】
sort一发,去重 #include<cstdio> #include<iostream> #include<queue> #include<string.h ...
- DataGridView DataSource 如何实现排序
将数据绑定在下面的类中就可以实现排序 public class SortableBindingList<T> : BindingList<T> { private ArrayL ...
- 51nod1416(dfs)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1416 题意:中文题诶- 思路:dfs 搜索同一颜色的点.. 只 ...
- [Xcode 实际操作]八、网络与多线程-(17)使用网址会话对象URLSession向远程服务器上传图片
目录:[Swift]Xcode实际操作 本文将演示如何通过网址会话对象URLSession向远程服务器上传图片. 网址会话对象URLSession具有在后台上传和下载.暂停和恢复网络操作.丰富的代理模 ...
- ScrollTo:实现平滑滚动到页面指定位置
ScrollTo:实现平滑滚动到页面指定位置 ScrollTo是一款基于jQuery的滚动插件,当点击页面的链接时,可以平滑地滚动到页面指定的位置.适用在一些页面内容比较多,页面长度有好几屏的场合,本 ...
- activity fragment 传值
Bundle bundle = new Bundle(); bundle.putString("key","value"); fragment.setArgum ...