package com.yt17lu.commons;
import java.util.Scanner;
public class UnicodeParse {
/**
*
* @param dataStr
* 接受的unicode 字符串
* @return 代表的字符串
* @throws 如果输入的格式不是u后跟2-4位16进制则抛出格式错误
*/
public static String parse(String dataStr) {
boolean matches = dataStr.matches("^(\\\\u\\p{XDigit}{2,4})*$");
if (!matches) {
throw new RuntimeException(dataStr + ",unicode字符串格式错误");
}
int start = 0;
int end = 0;
StringBuffer buffer = new StringBuffer();
int len = dataStr.length();
while (start < len) {
end = dataStr.indexOf("\\u", start + 2);
end = (end == -1) ? len : end;
String temp = dataStr.substring(start + 2, end);
buffer.append((char) Integer.parseInt(temp, 16));
start = end;
}
return buffer.toString();
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入字符:");
String code = input.next();
System.out.println(UnicodeParse.parse(code));
}
}
分享到:
相关推荐
ANSI字符串和Unicode字符串是两种常见的字符编码方式,它们各自有其特点和应用场景。本篇文章将详细探讨ANSI字符串与Unicode字符串的相互转换及其重要性。 首先,我们要理解ANSI字符串的概念。ANSI字符串实际上是一...
在C#中,Unicode是默认的字符串编码格式,这意味着每个字符串实例都是一个Unicode字符串。 “Unicode转中文”是指将Unicode编码的字符串转换为中文字符显示。在C#中,这通常是透明的,因为C#的String类内部使用UTF-...
本文将深入探讨“字符串与Unicode互转工具”所涉及的关键知识点,包括字符串的基本概念、Unicode编码体系以及Delphi编程语言中的实现。 首先,让我们了解字符串。在计算机科学中,字符串是由字符组成的序列,可以是...
Unicode转字符串软件是一种工具,主要用于将Unicode编码转换为可读的字符串形式,这对于在使用SIM800 Series AT命令进行硬件控制时处理文本数据尤为重要。SIM800 Series是一款广泛应用于GSM/GPRS通信模块的设备,它...
例如,在JavaScript中,可以使用`decodeURI()`或`decodeURIComponent()`函数解码Unicode字符串;在Python中,可以使用`str.encode('utf-8')`将Unicode字符串编码为UTF-8。 在处理网页内容时,确保正确的字符编码...
GBK编码的字符串转换为Unicode字符串的过程,通常涉及以下几个步骤: 1. 首先,读取GBK编码的字节流。 2. 使用GBK解码器将GBK编码的字节解码为字符。这一步会得到一个基于GBK编码的字符序列。 3. 将GBK编码的字符...
对于16进制字符串到Unicode字符的转换,我们可以使用`int.Parse()`或`Convert.ToInt32()`函数配合`char.ConvertFromUtf32()`来完成。相反,将Unicode字符转换为16进制字符串,则可以使用`char.ToString("x4")`方法。...
在编程世界中,字符编码是基础且至关重要的概念,尤其是Unicode和字符串的处理。...了解如何正确处理Unicode字符串,以及在各种编程语言中操作字符串的方法,将有助于开发出更健壮、更国际化的产品。
Unicode字符进位转换Unicode字符进位转换Unicode字符进位转换Unicode字符进位转换
UnicodeCode编码转换成字符串编码的C#类 \uA054\uA055 => "中文
### 关于GBK和Unicode字符集转换乱码问题 在计算机科学与互联网技术中,字符集是一种用于表示文本的标准集合,不同的字符集适用于不同的语言环境。本文将深入探讨GBK与Unicode这两种字符集之间的转换问题,特别是在...
当vs2013只支持unicode字符集,打开vc6.0版本的工程后,需要把字符串的形式从 "aaa" 转换成 _T("aaa"),手工转换工作量大,本程序可实现批量转换,操作方法是将原文件内容复制过来,点击转换按钮,然后再复制回去即可...
通过对CJSON的源码进行修改和扩展,我们能使其支持宽字符,从而更好地处理包含Unicode字符的JSON数据。这种扩展不仅可以用于微信消息的解析,也可以应用于其他任何需要处理多语言JSON数据的场景。
今天我们将详细介绍这三种编码方式之间的转换,包括 Ansi 转 Unicode、Unicode 转 Ansi,以及使用 wprintf 函数进行字符串输出。 Ansi 字符串 Ansi 字符串是我们最熟悉的一种编码方式,英文字符占用一个字节,汉字...
本篇将重点讲解在内核层下进行Ansi(ASCII)字符串与Unicode字符串之间的转换。 Ansi字符串是基于ASCII字符集的,每个字符占用一个字节。ASCII字符集包含128个字符,基本覆盖了英文和其他一些符号。而Unicode字符串...
4字符串转十六进制字符串、二进制字符串 5转义字符串 6随机数 源码包含了封装的功能模块类以及测试类, 全部源码都可以用VS2020编译通过,请放心使用! 友情提示,为了兼顾一些旧代码,预编译头文件用的是StdAfx.h...
C++实现中英文与UNICODE十六进制字符串互转 实现 "中文English" --> "4e2d65870045006e0067006c006900730068" 和 "4e2d65870045006e0067006c006900730068" --> "中文English" 这么一个转换,上述的都是字符...
vs2008下Unicode字符串和ANSI 字符串的相互转换 一直都很不习惯vs2008下的编程,是因为其对字符串的用法不像VC6那样方便了,其实这也增加了对字符串的安全检查, 这里我花了一下午的时间研究,终于搞懂了Unicode字符...
`strUnicode`变量将存储转换后的Unicode字符串。 对于汉字和特殊字符,Unicode编码尤为重要,因为它可以确保这些字符在不同系统和设备上的正确显示。在LCD(液晶显示器)和触摸屏等设备上,由于硬件限制或者特定的...
运行环境Java JDK 5.0 Unicode字符转换为中文字符,中文字符转Unicode字符 Unicode字符只支持以\u####格式 <br>MS有人在找这东西,自己也找过,没找着就自己做了一个,功能简单只满足自己的需求:) pp