如果我们不提及解码将使用什么解码?
我认为不是System.Text.Encoding.Default
。如果我明确放置System.Text.Encoding.Default
,那么事情就会很好。但是当我生活那么空的时候出现问题。
所以这不能很好地运作
Dim b = System.IO.File.ReadAllText("test.txt")
System.IO.File.WriteAllText("test4.txt", b)
但是效果很好
Dim b = System.IO.File.ReadAllText("test.txt", System.Text.Encoding.Default)
System.IO.File.WriteAllText("test4.txt", b, System.Text.Encoding.Default)
如果我们不指定编码,vb.net会尝试从文本文件中找出编码吗?
还有什么是System.Text.Encoding.Default
?
这是系统默认值。什么是我的系统默认值,如何更改?
我如何知道文本文件中使用的编码?
如果我创建一个新的文本文件并用scite打开它,我会看到编码是代码页属性。什么是代码页属性?
答案 0 :(得分:3)
查看here,“此方法会尝试根据字节顺序标记的存在自动检测文件的编码。编码格式为UTF-8和UTF-32(big-endian和little-endian)可以被发现。“
答案 1 :(得分:2)
另见http://msdn.microsoft.com/en-us/library/ms143375(v=vs.110).aspx 此方法使用UTF-8编码,没有字节顺序标记(BOM)