[英]C#: Load *.txt to RichTextBox and convert into UTF8
我想打開文本文件並將它們加載到 RichTextBox 中。 到目前為止一切順利,但現在我正在努力解決編碼問題。
所以我使用了 StackOverflow 頁面中的 GetType() 方法: How to find out the Encoding of a File? C# - 它返回“System.Text.UnicodeEncoding”。
我現在的問題是:
rtb.LoadFile(aFile, RichTextBoxStreamType.PlainText);
不要讓 RichTextBox 從磁盤加載文件,而是自己加載它,同時指定正確的編碼。 (順便說一下, Encoding.Unicode
只是“ UTF-16 little-endian ”的同義詞。)
string myText = File.ReadAllText(myFilePath, Encoding.Unicode);
這將為您處理轉換。 您獲得的字符串已“正確”編碼(即采用 .NET 內部使用的格式),因此您只需將其分配給 RichTextBox 的Text
屬性即可。
關於您的第三個問題: SaveFileDialog
只是一個讓用戶選擇文件名的工具。 您對文件名所做的操作(例如:將一些文本保存到其中,或對一些字符串進行編碼然后保存)與 SaveFileDialog 無關。
您還可以使用:richTextBox.LoadFile(filePath, RichTextBoxStreamType.UnicodePlainText);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.