注:上面通过静态属性生成的Encoding实例,符合单例模式,但是并不适用在多线程环境下,所以当你的Encoding需要全局唯一时,请使用静态属性的方式,而不是通过new的方式。...,那么就不要使用Encoding.Default,这样会造成乱码,最好使用Encoding.UTF8.
2、如何调用常用编码之外的编码,通过GetEncoding()和GetEncodings()
上面介绍了...4、BOM 判断文件的编码方式
这个BOM并不是Html中的BOM,而是一种字节顺序标记,BOM的全称是全称是Byte Order Mark,是一段二进制,用于标识一个文本是用什么编码的,比如当用...目前我不清楚为什么出现这个问题的原因,由于时间问题,我也不想深究下去,如果有兴趣,你可以去解读下Encoding的源码。...so,为了解决这个问题,就只能使用调用UTF8的解码器,对字符或者字符数组进行解码,修正代码如下:
string path = Path.GetTempFileName();//创建临时文件,并返回该文件的路径