.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",后面加分号.例如""字转换后为"搜" ...
随机推荐
- Python框架----cookie和session
一.cookie和session的介绍 cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生. cookie ...
- python的paramiko模块-远程登录linux主机并操作
paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作. 如果python服务器对被远程控制机器开启了免密验证,即在python服务器上可通过ssh 用户名@被控制机 ...
- log buffer space等待事件
最近,我们有台服务器在delete操作期间发现一直在等待log buffer space,其他节点就没与这个问题.经查,向重做缓冲区上写入重做记录的进程,为了确保拥有重做缓冲区内必要的空间,需要获得r ...
- java常用代码段整理(持续更新)
FileWriter指定编码格式 FileWriter 默认是用(ISO-8859-1 or US-ASCII)西方编码的,总之不是UTF-8的,而FileWriter类有getEncoding方法, ...
- 观实验室PPT演讲有感
outline 一定要有 说话的语速要慢,压制住紧张的心情 提前一天发布PPT dont` argue with audience, especially professor and teachers ...
- linux 中部署 rsync 实现文件远程备份及 同步
客户端:数据源:服务端:数据接收方 rsync官方文档:https://www.samba.org/ftp/rsync/rsync.html 手动测试用“通过远程外壳访问"里的语法: 参考1 ...
- dubbo接口FindMemberInfoTest思路整合
package com.yzb.user_center; /** * @Created by IntelliJ IDEA. * @Author tk * @Date 2018/7/31 * @Time ...
- Objective-C 【init/initWithFrame调用机制】
这是一个自定义view: @implementation MyView - (instancetype)init { if (self = [super init]) { NSLog(@"调 ...
- android linux 休眠 深度睡眠 查看 方法 调试【转】
本文转载自:https://blog.csdn.net/u011006622/article/details/72900552 在Android移动设备中,有时按下Power键(未接电源,USB)时, ...
- 彻底地/ 终于地, 解决 关于apache 权限的问题了:: 修改 DocumentRoot后的 403错误: have no permission to access / on this server
目录的权限都 应该设置 为 drwxr_xr_x, 即755, 而html下的文件的权限设置为; 644 即可! -x 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性. -w权限, ...