C#中如何获取汉字的笔画数和汉字的拼音

 以前玩过一个游戏,输入两个人的名字然后点击缘分就能产生一段缘分测试的结果,后来经过分析知道是根据名字笔画数之差来弄的小游戏,于是就在百度上找怎么得到汉字的笔画数,也没找到自己想要的答案,问遍了所有的人也不知道怎么弄的,终于功夫不负有心人找到答案了,现在分享给大家!

 

第一步:添加DLL文件的引用

DLL下载地址:http://www.kuaipan.cn/file/id_26768907658330146.html   刚刚传到金山网盘的 你们看看能下载吗?不能下载或者有问题留下联系方式  我邮箱给你们!

第二步:查看文档 编写代码

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.International.Converters.PinYinConverter;

namespace Example_CS
{
    class Program
    {
        static void Main(string[] args)
        {
            ChineseChar chineseChar = new ChineseChar('微');
            Console.WriteLine("Stroke number of 微 in Chinese is {0}.", chineseChar.StrokeNumber);
            Console.WriteLine("{0} characters' pinyin is \"wei1\".", ChineseChar.GetHomophoneCount("wei1"));
            if(ChineseChar.IsHomophone('微', '薇'))
            {
                Console.WriteLine("微 and 薇 have the same pinyin.");
            }
            else
            {
                Console.WriteLine("微 and 薇 have different pinyins.");
            }
        }
    }
}


 

其中上面的属性和方法中:StrokeNumber属性用来获取字符的笔画数;

Pinyins方法

获取这个字符的拼音。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1)支持获取简体中文字符的常用属性:拼音,多音字,同音字,笔画 2)繁简中文互相转化 public string Convert (string chr) { try{ if (chr.Length != 0) { StringBuilder fullSpell = new StringBuilder (); for (int i=0; i<chr.Length; i++) { bool isChineses = Microsoft.International.Converters.PinYinConverter.ChineseChar.IsValidChar(chr[i]); if (isChineses) { Microsoft.International.Converters.PinYinConverter.ChineseChar chineseChar = new Microsoft.International.Converters.PinYinConverter.ChineseChar (chr [i]); foreach (string value in chineseChar.Pinyins) { if (!string.IsNullOrEmpty (value)) { fullSpell.Append (value.Remove(value.Length - 1, 1)); break; } } }else { fullSpell.Append(chr[i]); } } return fullSpell.ToString().ToUpper(); } }catch(Exception e){ Console.WriteLine("全拼转化出错!"+e.Message); } return string.Empty; } /// <summary> /// 获取首字母 /// </summary> public string SubFirstLetter(string chr) { try{ chr = chr.Substring(0,1); if (chr.Length != 0) { StringBuilder fullSpell = new StringBuilder (); for (int i=0; i<chr.Length; i++) { bool isChineses = Microsoft.International.Converters.PinYinConverter.ChineseChar.IsValidChar(chr[i]); if (isChineses) { Microsoft.International.Converters.PinYinConverter.ChineseChar chineseChar = new Microsoft.International.Converters.PinYinConverter.ChineseChar(chr[i]); foreach (string value in chineseChar.Pinyins) { if (!string.IsNullOrEmpty (value)) { fullSpell.Append (value.Remove(value.Length - 1, 1)); break; } } }else { fullSpell.Append(chr[i]); } } return fullSpell.ToString().Substring(0,1).ToUpper(); } }catch(Exception e){ //Log.Error("首字母转化出错!"+e.Message); } return string.Empty; }
C#将含有中文和数字的Unicode字符串转换为中文字符串的过程与前面提到的类似。您可以使用`Encoding.Unicode.GetString`方法将字节数组转换为中文字符串。以下是一个示例代码: ```csharp using System; using System.Text; class Program { static void Main() { // 含有中文和数字的Unicode字符串 string unicodeString = "\\u4E2D\\u6587\\u548C123"; // 将含有中文和数字的Unicode字符串转换为中文字符串 string chineseString = UnicodeToString(unicodeString); Console.WriteLine(chineseString); } static string UnicodeToString(string unicodeString) { // 将Unicode字符串转换为字节数组 byte[] unicodeBytes = new byte[unicodeString.Length / 6]; for (int i = 0; i < unicodeBytes.Length; i++) { string byteValue = unicodeString.Substring(i * 6 + 2, 4); unicodeBytes[i] = Convert.ToByte(byteValue, 16); } // 将字节数组转换为中文字符串 string chineseString = Encoding.Unicode.GetString(unicodeBytes); return chineseString; } } ``` 在上述代码,我们定义了一个含有中文和数字的Unicode字符串`unicodeString`,它的值为`"\u4E2D\u6587\u548C123"`。然后,我们调用`UnicodeToString`方法将含有中文和数字的Unicode字符串转换为中文字符串。在`UnicodeToString`方法,我们首先将Unicode字符串转换为字节数组,然后使用`Encoding.Unicode.GetString`方法将字节数组转换为中文字符串。最后,我们将转换后的中文字符串输出到控制台。 运行上述代码,您将得到输出结果为`中文和123`,即成功将含有中文和数字的Unicode字符串转换为中文字符串。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值