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 ...
随机推荐
- 使用Spring Security控制会话
1.概述 在本文中,我们将说明Spring Security如何允许我们控制HTTP会话.此控件的范围从会话超时到启用并发会话和其他高级安全配置. 2.会话何时创建? 我们可以准确控制会话何时创建以及 ...
- 让webStorm支持自动监听编译scss文件
前提概要 今日,重装了两波系统,,,之前安装的各种环境都忘光了,重新又踩一次坑的感觉很不舒服,所以记录一下配置自动编译scss一路遇到的坑 一.webstrom run的时候控制台输出的错误中文提示乱 ...
- SPOJ PHT【二分】+SPOJ INUM【最小/大值重复】
BC 两道其实都是水 没有完整地想好直接就码出事情.wa了一次以后要找bug,找完要把思路理的非常清楚 SPOJ PHT[二分] #include<bits/stdc++.h> using ...
- lightoj1026【tarjan】
题意: 据说就是找桥: 思路: 无敌RE......是cmp写挫了...现在数组开太大了 模板题: #include <bits/stdc++.h> using namespace std ...
- mongodb c# 序列化时 , Id引起的问题
1. c# 序列化时,如果没有指名_id , 如果class,struct有MemberName为 Id ,_id , 则自动识别为Id . 如果此时,这个"Id"是只读属性,就 ...
- [Xcode 实际操作]八、网络与多线程-(15)使用网址会话对象URLSession下载图片并存储在沙箱目录中
目录:[Swift]Xcode实际操作 本文将演示如何通过网址会话对象URLSession下载图片并存储在沙箱目录中. 网址会话对象URLSession具有在后台上传和下载.暂停和恢复网络操作.丰富的 ...
- Date类学习一
- hibernate错误总结1
- android 多线程下载思路
首先请求下载url,获取文件大小和文件类型 比如获取到文件大小是7410642 文件类型为application/vnd.android.package-archive(即后缀为apk,安卓app安 ...
- 微信小程序使用字体图标
项目中常常需要使用到字体图标,微信小程序中使用字体图标与在平常的web前端中类似但是又有区别.下面以使用阿里图标为例子讲解如何在微信小程序中使用字体图标. 第一步:下载需要的字体图标 进入阿里图标官网 ...