我想爲遺留系統創建一個平面文件,並且他們強制要在TextEncoding的MS DOS .txt文件中呈現數據(文本文檔 - MS-DOS格式CP_OEM)。我在使用C#(.net4.0框架)中的UTF8Encoding類生成的文件之間有點混亂,我認爲它在默認的txt文件(編碼:CP_ACP)中生成了一個文件。什麼編碼用於使用C#創建MS-DOS txt文件(UTF8Encoding與編碼)
我認爲編碼名稱CP_ACP,Winodows和ANSI指的是相同的東西,Windows默認是ANSI,它會省略任何Unicode字符信息。
如果我在C#庫中使用UTF8Encoding類來創建一個文本文件(如下所示),它會在MS DOS txt文件格式?
byte[] title = new UTF8Encoding(true).GetBytes("New Text File");
按照答案提供顯而易見的是,UTF8是不是等同於MSDOS的TXT格式,應該使用Encoding.GetEncoding(850)方法得到的編碼庫。
我閱讀以下帖子來檢查我的信息,但沒有結論。 https://blogs.msdn.microsoft.com/oldnewthing/20120220-00?p=8273
https://blog.mh-nexus.de/2015/01/character-encoding-confusion
https://blogs.msdn.microsoft.com/oldnewthing/20090115-00?p=19483
最後得出結論爲創建一個字節數組時要轉換回實際的文件(注意到Encoding.GetEncoding(850)去:我使用的字節數組因爲我可以利用現有的中間產品)。
是的,它是有用的知道AUS的代碼頁,只是另一個快速的一個微不相關的,Tab Tab是分隔符用於這些平面文件類型(通常我的意思是允許遺留系統處理)? – Lin
爲什麼會有這樣的反對票? – Lin