C# 繁体字和简体字之间的相互转换

一:窗体应用程序界面

二:代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Convert
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
string str = textBox1.Text.Trim();//获取文本框内容
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.Length; i++)//遍历每个字符
{
if ((int)str[i] > 127 && (str[i] >= 0x4e00 && str[i] <= 0x9fbb)&&(Regex.IsMatch(str[i].ToString(), @"[u4e00-u9fbb]")))//三种方法判断是否为汉字 汉字的ASCII码大于127
{
sb.Append(Microsoft.VisualBasic.Strings.StrConv(str[i].ToString(), Microsoft.VisualBasic.VbStrConv.SimplifiedChinese, 0));//把繁体字转换成简体字
}
else
{
sb.Append(str[i]);//拼接字符
}
}
textBox1.Text = sb.ToString();
}

private void button2_Click(object sender, EventArgs e)
{
string str = textBox1.Text.Trim();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.Length; i++)
{
if ((int)str[i] > 127 && (str[i] >= 0x4e00 && str[i] <= 0x9fbb) && (Regex.IsMatch(str[i].ToString(), @"[u4e00-u9fbb]")))//三种方法判断是否为汉字 汉字的ASCII码大于127
{
sb.Append(Microsoft.VisualBasic.Strings.StrConv(str[i].ToString(), Microsoft.VisualBasic.VbStrConv.TraditionalChinese , 0));//把简体字转换成繁体字
}
else
{
sb.Append(str[i]);
}
}
textBox1.Text = sb.ToString();
}
}
}

三、总结

1)、主要用到Microsoft.VisualBasic.Strings.StrConv()方法来实现转换,也可以转换成其它字体,注意添加引用  框架-Microsoft.VisualBasic

2)、此处总结了三种判断字符是否为汉字的方法;

原文地址:https://www.cnblogs.com/czqbk/p/4798283.html