C#读取文件和字符串中的汉字

Posted bcbobo21cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#读取文件和字符串中的汉字相关的知识,希望对你有一定的参考价值。

文本文件如下;

先看一下读取文件中的汉字问题;

然后看一下,从字符串中每次取一个字符,是否取到一个汉字,因为一个汉字是2个字节;

private void button1_Click(object sender, EventArgs e)
        
            try
            
                string strLine;
                FileStream aFile = new FileStream(@"hanzi.txt", FileMode.Open);
                StreamReader sr = new StreamReader(aFile, System.Text.Encoding.GetEncoding("gb2312"));
                //如果有汉字,必需要加入第二个编码参数,要不读出来就是乱码,如果全是英文,可以不加这个参数。
                strLine = sr.ReadLine();

                while (strLine != null)
                
                    textBox1.Text = textBox1.Text + strLine + Environment.NewLine;

                    for(int i=0;i<strLine.Length;i++)
                    
                        textBox2.Text = textBox2.Text + strLine.Substring(i, 1) + ",";
                    
                    textBox2.Text = textBox2.Text + Environment.NewLine;

                    strLine = sr.ReadLine();
                
                sr.Close();
            
            catch (IOException ex)
            

            
        

运行如下;从字符串中每次取一个字符是取到一个汉字; 

 

 

以上是关于C#读取文件和字符串中的汉字的主要内容,如果未能解决你的问题,请参考以下文章

如下:为啥C语言读取文件中的数据并输出时有乱码出现?本来输入的是数字,然后从文件中读取后就变汉字

请问如何用C语言实现汉字,和Unicode编码的转换?

c语言--键盘输入数字,输出汉字读法

C语言判断一句中文里是不是包含的有某个汉字或多个汉字

怎样判断一个字符是否汉字呢??

如何使用C语言将汉字转换成UTF8编码,如将“你好”转成:%E4%BD%A0%E5%A5%