C# 中字符串与Unicode相互转化
来源:互联网 发布:网络大电影剧本 编辑:程序博客网 时间:2024/05/15 06:18
private string UnicodeCode2Str(char[] u4)
{
if (u4.Length < 4)
{
throw new Exception("It's not a unicode code array");
}
string str = "0123456789ABCDEF";
char ch = char.ToUpper(u4[0]);
char ch2 = char.ToUpper(u4[1]);
char ch3 = char.ToUpper(u4[2]);
char ch4 = char.ToUpper(u4[3]);
int index = str.IndexOf(ch);
int num2 = str.IndexOf(ch2);
int num3 = str.IndexOf(ch3);
int num4 = str.IndexOf(ch4);
if (((index == -1) || (num2 == -1)) || ((num3 == -1) || (num4 == -1)))
{
throw new Exception("It's not a unicode code array");
}
byte num5 = (byte) (((index * 0x10) + num2) & 0xff);
byte num6 = (byte) (((num3 * 0x10) + num4) & 0xff);
byte[] bytes = new byte[] { num5, num6 };
return Encoding.BigEndianUnicode.GetString(bytes);
}
private string NormalU2C(string input)
{
string str = "";
char[] chArray = input.ToCharArray();
Encoding bigEndianUnicode = Encoding.BigEndianUnicode;
for (int i = 0; i < chArray.Length; i++)
{
char ch = chArray[i];
if (ch.Equals('//'))
{
i++;
i++;
char[] chArray2 = new char[4];
int index = 0;
index = 0;
while ((index < 4) && (i < chArray.Length))
{
chArray2[index] = chArray[i];
index++;
i++;
}
if (index == 4)
{
try
{
str = str + this.UnicodeCode2Str(chArray2);
}
catch (Exception)
{
str = str + @"/u";
for (int j = 0; j < index; j++)
{
str = str + chArray2[j];
}
}
i--;
}
else
{
str = str + @"/u";
for (int k = 0; k < index; k++)
{
str = str + chArray2[k];
}
}
}
else
{
str = str + ch.ToString();
}
}
return str;
}
private string NormalC2U(string input)
{
Encoding bigEndianUnicode = Encoding.BigEndianUnicode;
char[] chArray = input.ToCharArray();
string str = "";
foreach (char ch in chArray)
{
if (ch.Equals('/r') || ch.Equals('/n'))
{
str = str + ch;
}
else
{
byte[] bytes = bigEndianUnicode.GetBytes(new char[] { ch });
str = (str + @"/u") + string.Format("{0:X2}", bytes[0]) + string.Format("{0:X2}", bytes[1]);
}
}
return str;
}
- C# 中字符串与Unicode相互转化
- C# 中字符串与Unicode相互转化
- 数字与字符串相互转化(Unicode)
- 简化wince中字符串ansi与unicode相互转化的函数
- [转]Java 字符串与Unicode的相互转化
- Unicode与UTF8相互转化
- JavaScript中数字与字符串相互转化
- C++中ASCII、unicode与Utf8之间的相互转化
- C++中ASCII、unicode与Utf8之间的相互转化
- C++中ASCII、unicode与Utf8之间的相互转化
- ANSI、UTF-8、UNICODE字符串相互转化
- int_64 与 字符串相互转化
- datetime与字符串相互转化
- 时间与字符串相互转化
- C/C++中ASCII与Unicode字符串相互转换
- VC++中数值与字符串相互转化(总结)
- c++中字符串与数字之间的相互转化
- Java中整数与字符串的相互转化
- SQL SERVER2000带端口连接
- struts2标签库总结
- 如何实现GPRS 拨号上网?
- 关于fedora10、ORACLE11、JAVA的一些记录
- Fedora Evolution 发送/接收 变灰无效
- C# 中字符串与Unicode相互转化
- (WPF学习记录)第十一章 单一孩子的Element
- 我真的想换大米五百年
- C# 通过URL获取图片并显示在PictureBox上的方法
- cpl (控制面板应用程序) 编写及调试
- linux系统搭建Ruby on Rails最佳开发环境
- java反射【reflect】——针对数据实体的简单实战
- Wicd
- 在jbuilder和weblogic环境下成功的jsp应用Jfreechart