.net unicode汉字互相转换
【两种方法】.net unicode汉字互相转换 ========================================= //汉字转Unicode编码(ASCII) private string StringToUnicode(string srcText) { string dst = ""; char[] src = srcText.ToCharArray(); for (int i = ; i < src.Length; i++) { byte[] bytes = Encoding.Unicode.GetBytes(src[i].ToString()); string str = @"\u" + bytes[].ToString("X2") + bytes[].ToString("X2"); dst += str; } return dst; } //TO汉字 srcText为去除\u之后的4位字符 using System.Globalization; private string ToCN(string srcText) { string str = srcText; byte[] bytes = new byte[]; bytes[] = byte.Parse(int.Parse(str.Substring(, ), NumberStyles.HexNumber).ToString()); bytes[] = byte.Parse(int.Parse(str.Substring(), NumberStyles.HexNumber).ToString()); return Encoding.Unicode.GetString(bytes); } ================================================================
public static string ConvertToGB(string unicodeString)
{
string[] strArray = unicodeString.Split(new string[] { @"u" }, StringSplitOptions.None);
string result = string.Empty;
for (int i = ; i < strArray.Length; i++)
{
if (strArray[i].Trim() == "" || strArray[i].Length < || strArray.Length <= )
{
result += i == ? strArray[i] : @"u" + strArray[i]; continue;
}
for (int j = strArray[i].Length > ? : strArray[i].Length; j >= ; j--)
{
try
{
result += char.ConvertFromUtf32(Convert.ToInt32(strArray[i].Substring(, j), )) + strArray[i].Substring(j);
break;
}
catch
{
continue;
}
}
} return result;
} public static string ConvertToUnicode(string strGB)
{
char[] chs = strGB.ToCharArray(); string result = string.Empty; foreach (char c in chs)
{
result += @"u" + char.ConvertToUtf32(c.ToString(), ).ToString("x");
}
return result;
}
/// <summary>
/// 普通字符串与UniCode字符串间转换
/// </summary>
public static class StringToUniCode
{
/// <summary>
/// 字符串转为UniCode码字符串
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static string StringToUnicode(string s)
{
char[] charbuffers = s.ToCharArray();
byte[] buffer;
StringBuilder sb = new StringBuilder();
for (int i = ; i < charbuffers.Length; i++)
{
buffer = System.Text.Encoding.Unicode.GetBytes(charbuffers[i].ToString());
sb.Append(String.Format("//u{0:X2}{1:X2}", buffer[], buffer[]));
}
return sb.ToString();
}
/// <summary>
/// Unicode字符串转为正常字符串
/// </summary>
/// <param name="srcText"></param>
/// <returns></returns>
public static string UnicodeToString(string srcText)
{
string dst = "";
string src = srcText;
int len = srcText.Length / ;
for (int i = ; i <= len - ; i++)
{
string str = "";
str = src.Substring(, ).Substring();
src = src.Substring();
byte[] bytes = new byte[];
bytes[] = byte.Parse(int.Parse(str.Substring(, ), NumberStyles.HexNumber).ToString());
bytes[] = byte.Parse(int.Parse(str.Substring(, ), NumberStyles.HexNumber).ToString());
dst += Encoding.Unicode.GetString(bytes);
}
return dst;
}
}
.net unicode汉字互相转换的更多相关文章
- .Net(c#)汉字和Unicode编码互相转换
{"Tilte": "\u535a\u5ba2\u56ed", "Href": "http://www.cnblogs.com&q ...
- .Net(c#)汉字和Unicode编码互相转换实例
{"name": "\u676d\u5dde", "href": "www.baidu.com"} 经常遇到这样内容的j ...
- FATFS外置UNICODE GBK双向转换码表(转)
源:FATFS外置UNICODE GBK双向转换码表 将UtoG,GtoU双向码表放到存储卡里面实现长文件名,因为FATFS长文件名需要unicode支持, 首先将UtoG.sys,GtoU.sys两 ...
- [Python] 中文编码问题:raw_input输入、文件读取、变量比较等str、unicode、utf-8转换问题
最近研究搜索引擎.知识图谱和Python爬虫比较多,中文乱码问题再次浮现于眼前.虽然市面上讲述中文编码问题的文章数不胜数,同时以前我也讲述过PHP处理数据库服务器中文乱码问题,但是此处还是准备简单做下 ...
- java中汉字自动转换成拼音
java中汉字自动转换成拼音 1.需要下载jar包 pinyin4j.2.5.0.jar ,加入到WEB-INF下的lib里边,右键add to bulid path. 2.[代码]PinYinUti ...
- unicode 编码在线转换--javascript
// unicode 编码在线转换工具--javascript 本人在网上搜索,看到有使用javascript做unicode编码转换的,感觉很好玩,所以拿来使用的. 这个功能有目前测试了两种: 1) ...
- OC1_汉字拼音转换 练习
// // WordManager.h // OC1_汉字拼音转换 // // Created by zhangxueming on 15/4/27. // Copyright (c) 2015年 z ...
- Python2.X如何将Unicode中文字符串转换成 string字符串
Python2.X如何将Unicode中文字符串转换成 string字符串 普通字符串可以用多种方式编码成Unicode字符串,具体要看你究竟选择了哪种编码:unicodestring = u&q ...
- 用AutoHotkey做汉字到Unicode字符串的转换
要把汉字转换为搜的形式,也就是在汉字的Unicode Big Endian编码前面加"&#x",后面加分号.例如""字转换后为"搜" ...
随机推荐
- Eloquent JavaScript #13# HTTP and Forms
索引 Notes fetch form focus Disabled fields form’s elements property 阻止提交 快速插入单词 实时统计字数 监听checkbox和rad ...
- 给PHP开启shmop扩展实现共享内存
在项目开发中,想要实现PHP多个进程之间共享数据的功能,让客户端连接能够共享一个状态,需要开启共享内存函数shmop.如果预期考虑会遇到这方面需求,那么最好在编译PHP的时候添加--with-shmo ...
- Caused by: com.rabbitmq.client.ShutdownSignalException: connection error
周五下午的时候升级了一个环境,跑了批处理sh升级脚本后,启动时报下列错误: INFO | jvm 1 | 2017/02/24 17:39:09 | java.io.IOException INFO ...
- Bugku-CTF之web3-flag就在这里快来找找吧
Day6 web3 30 flag就在这里快来找找吧http://123.206.87.240:8002/web3/ 本题要点:NCR 转义序列(Unicode) 在Windows中经常需要用到多 ...
- 谷歌zxing 二维码生成工具
一.加入maven依赖 <!-- 谷歌zxing 二维码 --> <dependency> <groupId>com.google.zxing</groupI ...
- 如果让我重来,我会选择C和(或者)Python。
如果让我重来,我会选择C和(或者)Python.Python语法和库更丰富,上手更容易,使用更方便.C简单直接,学习成本不高,贴近底层,能帮助了解底层细节.先强调:1. 语言只是工具,假以时日,你都会 ...
- linux内核中的crng是什么?
答: 一致性随机数生成器(congruential random number generator)
- Ubuntu18.04 一些好用的扩展
原文:https://www.lulinux.com/archives/2589 一些好用的扩展: United:https://www.gnome-look.org/p/1167950/ dynam ...
- dh
-.-- -.. --- -. --- - -.- -. --- .--
- js 二叉树删除最大值和最小值
//删除最小值function delMinNode (root){ if(!root) { return false; } var current = root; if (current.left ...