c语言unicode编码转ascii码,编码转换(ASCII和Unicode、Unicode和中文相互转换)
參照http://tool.chinaz.com/Tools/Unicode.aspx,用C#做一個編碼轉換的小工具。代碼如下:
///
/// 編碼轉換工具
/// 作者:Sunny906
/// 日期:2014-09-15
///
public partial class TransformFrm : Form
{
public TransformFrm()
{
InitializeComponent();
}
//定義轉換的枚舉類型
private enum TransType
{
ASCIIToUnicode,
UnicodeToASCII,
UnicodeToCN,
CNToUnicode,
Clear
}
///
/// 檢查輸入的內容是否為空
///
///
private bool CheckSource()
{
if (this.rtbSource.Text.Length == 0)
{
return false;
}
return true;
}
///
/// 根據指定的轉換類型轉換字符串
///
/// 轉換類型
private void TransText(TransType type)
{
if (type != TransType.Clear)
{
if (!CheckSource())
{
return;
}
}
string source = this.rtbSource.Text;
string dest = string.Empty;
switch (type)
{
case TransType.ASCIIToUnicode:
dest = string.Empty;
for (int i = 0; i < source.Length; i++)
{
dest += "" + ((int)source[i]).ToString() + ";";
}
break;
case TransType.UnicodeToASCII:
dest = string.Empty;
MatchCollection mc = Regex.Matches(source, "\\w+");
foreach (Match m in mc)
{
dest += ((char)int.Parse(m.Value)).ToString();
}
break;
case TransType.UnicodeToCN:
dest = string.Empty;
string[] arr = source.Replace("\\", "").Split('u');
for (int i = 1; i < arr.Length; i++)
{
dest += (char)int.Parse(arr[i], NumberStyles.HexNumber);
}
break;
case TransType.CNToUnicode:
dest = string.Empty;
for (int i = 0; i < source.Length; i++)
{
dest += "\\u" + ((int)source[i]).ToString("x");
}
break;
case TransType.Clear:
this.rtbDest.Clear();
break;
}
this.rtbDest.Text = dest;
}
private void btnASCIIToUnicode_Click(object sender, EventArgs e)
{
TransText(TransType.ASCIIToUnicode);
}
private void btnUnicodeToASCII_Click(object sender, EventArgs e)
{
TransText(TransType.UnicodeToASCII);
}
private void btnUnicodeToCN_Click(object sender, EventArgs e)
{
TransText(TransType.UnicodeToCN);
}
private void btnCNToUnicode_Click(object sender, EventArgs e)
{
TransText(TransType.CNToUnicode);
}
private void btnClear_Click(object sender, EventArgs e)
{
TransText(TransType.Clear);
}
}
總結
以上是生活随笔為你收集整理的c语言unicode编码转ascii码,编码转换(ASCII和Unicode、Unicode和中文相互转换)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机统考分数短信显示合格,今年起全省八
- 下一篇: 简单的深度优先遍历和广度优先遍历