\u5b57\u7b26 字符转换 (Unicode字符与中文的相互转化)

news/2024/12/1 0:24:28/

C#:



工具下载


示例:

private void button1_Click(object sender, EventArgs e)
{String value = textBox1.Text;if (value.Contains("\\u")) value = UnicodeConverter.ToChinese(value);          // Unicode字符转化为中文else value = UnicodeConverter.ToUnicode(textBox1.Text); // 中文转化为Unicode字符textBox1.Text = value;
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;namespace UnicodeStringTool
{/// <summary>/// 此类用于实现Unicode字符与中文字符的相互转换/// </summary>class UnicodeConverter{/// <summary>/// 将中文字符串转化为Unicode串/// </summary>public static String ToUnicode(String str){String tmp = "";foreach (char C in str){if (isChinese(C)) tmp += "\\u" + ToString(C, 16);   // 将中文字符转化为Unicode串else tmp += C;}return tmp;}/// <summary>/// 将Unicode串转化为中文字符串/// </summary>public static String ToChinese(String str){String tmp = str;Regex regex = new Regex("\\\\u[0-9a-fA-F]{4}", RegexOptions.IgnoreCase);MatchCollection collection = regex.Matches(tmp);foreach (Match match in collection){String hexStr = match.Value.Substring("\\u".Length); // 获取16进制串String C = ToChar(match.Value, 16).ToString();tmp = tmp.Replace(match.Value, C);}return tmp;}// 相关功能函数// -----------------------------------------------------------------// 判断字符C是否是中文字符public static bool isChinese(char C){// 中文字符范围return 0x4e00 <= C && C <= 0x9fbb;}// 将数值num转化为radix进制表示的字符串, 2 <= radix <= 36public static String ToString(int num, int radix = 10){String Str = "";while (num > 0){int remainder = num % radix;    // 取余数num = num / radix;              // 取商Str = ToChar(remainder) + Str;  // 将各位余数,依次转化为对应进制字符}return Str;}// 将数值n转化为字符,0 <= n <= 35,依次转化为字符0-9a-z;// 最大可表示36进制数public static char ToChar(int n){n = n % 36;if (n < 10) n += '0';else n += 'a' - 10;return (char)n;}// 将字符0-9a-z依次转化为数值0-35public static int ToInt(char C){if (C > '9') return C - 'a' + 10;else return C - '0';}// 将字符串radix进制的串str转化为字符public static char ToChar(String str, int radix){int n = 0;foreach (char C in str){n = n * radix + ToInt(C);}return (char)n;}// -----------------------------------------------------------------}
}

java:

\u55\u5b57\u7b26
U字符

/** ChineseCharacterTransform.java: ----- 2016-9-20 下午3:49:51 wangzhongyuan */
public class ChineseCharacterTransform
{public static void main(String[] args){String str = "U字符";String Ustr = to_U_Str(str);System.out.println(Ustr);				// 转化为U字符Ustr = "\\u55\\u5b57\\u7b26";System.out.println(UStr_2_Str(Ustr));	// 转化为表示的文本}/* 将字符串转化为\\u形式的字符串,如: "U字符" -> "\\u55\\u5b57\\u7b26" ;U字符为字符串中每个字符的16进制信息 */public static String to_U_Str(String str){String tmp = "";for (char C : str.toCharArray())// 获取所有字符tmp += "\\u" + Integer.toHexString(C);		// 将每个字符的的值,转化为16进制字符串return tmp;}/* 将U字符转化为其表示的字符串, 如: "\\u55\\u5b57\\u7b26" -> "U字符" ;按\\u分割,依次转化为对应字符*/public static String UStr_2_Str(String Ustr0){String Ustr = Ustr0;int S = 0, E = 0;String C = "", Value = "";while (Ustr.contains("\\u")){S = Ustr.indexOf("\\u") + "\\u".length();	E = Ustr.indexOf("\\u", S);if (E == -1) E = Ustr.length();if (E > S){C = Ustr.substring(S, E);if (C.length() > 4) C = C.substring(0, 4);Value = (char) Integer.parseInt(C, 16) + "";Ustr = Ustr.replace("\\u" + C, Value);}}return Ustr;}
}

工具源码下载

开源地址



http://www.ppmy.cn/news/593950.html

相关文章

将这段编码转成中文 \u8be5\u8d26\u53f7\u4e0d\u53ef\u767b\u5f55\u5feb\u9012\u5458\u7aef

这段编码转成中文是&#xff1a;该账号不可登录快递员端。

OracleLinux-R6-U5-Server-x86_64安装,及oracle11g安装

一&#xff0c;下载及安装 操作系统下载oraclelinux 镜像地址OracleLinux-R6-U5-Server-x86_64-dvd.iso&#xff1a;http://pan.baidu.com/s/1bpm62Nd&#xff0c;密码&#xff1a;pyx9 oracle下载地址http://www.oracle.com/technetwork/database/enterprise-edition/downlo…

Python使用time.strftime报错:‘locale‘ codec can‘t encode character ‘\u5e74‘ in position 2: encoding error

目录 一、报错信息&#xff1a; 二、报错代码&#xff1a; 三、解决方法&#xff1a; 1、第一种解决方法&#xff0c;修改locale配置 2、第二种解决方法&#xff0c;使用占位符格式化 四、解决的原理&#xff1a; 一、报错信息&#xff1a; locale codec cant encode ch…

python3中文打印出来乱码\u5f85\u5ba1\u6838

1、字典转换为json格式的时候&#xff0c;输出的内容是\u72b6\u6001 dict1 {"状态": "待审核"} print(json.dumps(dict1)) 2、解决: 在json的dumps方法中加入参数ensure_asciiFalse&#xff0c;默认是True json.dumps(dict1, ensure_asciiFalse) 3、源…

weblogic卸载补丁报Encountered unrecognized patch ID: 6JJ4

系统环境&#xff1a;linux weblogic版本&#xff1a;10.3.6 卸载补丁命令&#xff1a; sh bsu.sh -prod_dir{wls_home} -statusapplied -verbose -view 报错信息&#xff1a; Encountered unrecognized patch ID: 6JJ4 这里输出的日志信息非常的简陋&#xff0c;我修改的…

工程师笔记|STM32U5带OEM Key保护的RDP降级

STM32U5 STM32单片机 2022-02-09 17:30工程师笔记|STM32U5带OEM Key保护的RDP降级STM32U5带OEM Key保护的RDP降级https://mp.weixin.qq.com/s/h2NhHvEX4crVhHwNPIS0_w 关键词&#xff1a; 读保护&#xff0c;RDP&#xff0c;调试保护&#xff0c;OEMKey 引言 通常芯片在其整…

STM32U5开发(1)----通过 USART1 发送数据

概述 通过 USART1 发送一些数据。 最近在弄ST和GD的课程&#xff0c;需要样片的可以加群申请&#xff1a;6_15061293。 生成例程 使用STM32CUBEMX生成例程&#xff0c;这里使用NUCLEO-U575ZI开发板。 选择工程的时候&#xff0c;先不必选择加载了TrustZone。 样品申请 h…

weblogic打补丁详细步骤(linux)

环境&#xff1a; Linux 2.6.18-164.el5 weblogic 10.3.6.0 2021年7月补丁包&#xff1a;p32832785_1036_Generic.zip --------------- 打补丁详细步骤&#xff1a; 0、查找weblogic相关路径 ps -ef|grep weblogic &#xff08;查到有这样的路径&#xff1a;/home/weblogic/…