c#编码问题

文本文件乱码通常是由于编码不一致导致的。解决方法是确保读写时使用相同编码,如UTF-8。ASCII码表只包含英文,GB2312和GBK支持中文,Unicode和UTF-8为国际码表。File类提供多种操作文本文件的方法,如AppendAllText、ReadAllLines等。Encoding.Default与操作系统区域设置相关。
摘要由CSDN通过智能技术生成

产生乱码的原因(只有文本文件才会乱码):文本文件存储时采用的编码,与读取时采用的编码不一致,就会造成乱码问题。解决:采用统一的编码就ok.
文本文件编码,文本文件有不同的存储方式,将字符串以什么样的形式保存为二进制,这个就是编码,UTF-8、ASCII、Unicode等,如 果出现乱码一般就是编码的问题,文本文件相关的函数一般都有一个Encoding类型的参数,取得编码的方式:Encoding.Default、 Encoding.UTF8、Encoding.GetEncoding(“GBK”)
文件编码(码表)
•ASCII:英文码表,每个字符占1个字节。
•GB2312:兼容ASCII,包含中文。每个英文占一个字节(正数),中文占两个字节(负数)
•GBK:简体中文,兼容gb2312,包含更多汉字。英文占1个字节(正数),中文占两个(1个负数,1个可正可负)
•Big5:繁体中文
•Unicode:国际码表,中文英文都站2个字节。
•UTF-8:国际码表,英文占1个字节,中文占3个字节。l输出Encoding.GetEncodings(),所有编码。
什么是文本文件。拖到记事本中还能看得懂的就是文本文件,doc不是。
File类的常用静态方法:(FileInfo*)
•voidAppendAllText(string path, string contents),将文本contents附加到文件path中
•bool Exists(string path)判断文件path是否存在
•string[]ReadAllLines(string path) 读取文本文件到字符串数组中
•stringReadAllText(string path) 读取文本文件到字符串中
•voidWriteAllText(string path, string contents)将文本contents保存到文件path中,会覆盖旧内容。
•WriteAllLines(string path,string[] contents),将字符串数组逐行保存到文件path中,会覆盖旧内容。
正数对应的二进制取反 ,再加1就是负数的二进制。
Encoding.Default

System.Text.DBCSCodePageEncoding双字节字符集。如果输出EncodingName的话,结果为:简体中文(gb2312)

Encoding.Default:与操作系统的当前“区域与语言选项”有关。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值