我是初学程序员,我目前正在寻找一种方法,将ANSI加密文件中的文本加载到表单中的RichTextBox
。此外,我正在寻找一种方法将其保存回ANSI加密文件。
这就是我目前正在尝试的内容:
Imports System
Imports System.IO
Imports System.Text
Dim strResult As String
Using SR As StreamReader = New StreamReader("startup_config.cfg", Encoding.Default)
strResult = SR.ReadToEnd
End Using
答案 0 :(得分:4)
我认为您的意思是ANSI 编码而不是加密。
您可以将Encoding.GetEncoding
与列表here中的一个代码页一起使用,而不是使用Encoding.Default
。以下是我在上面链接的GetEncoding
页面中的代码示例:
Imports System
Imports System.Text
Imports Microsoft.VisualBasic
Namespace Convert_Example
Class MyConvertExampleClass
Shared Sub Main()
Dim unicodeString As String = "This string contains the unicode character Pi(" & ChrW(&H03A0) & ")"
' Create two different encodings.
Dim ascii As Encoding = Encoding.ASCII
Dim [unicode] As Encoding = Encoding.Unicode
' Convert the string into a byte[].
Dim unicodeBytes As Byte() = [unicode].GetBytes(unicodeString)
' Perform the conversion from one encoding to the other.
Dim asciiBytes As Byte() = Encoding.Convert([unicode], ascii, unicodeBytes)
' Convert the new byte[] into a char[] and then into a string.
' This is a slightly different approach to converting to illustrate
' the use of GetCharCount/GetChars.
Dim asciiChars(ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)) As Char
ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0)
Dim asciiString As New String(asciiChars)
' Display the strings created before and after the conversion.
Console.WriteLine("Original string: {0}", unicodeString)
Console.WriteLine("Ascii converted string: {0}", asciiString)
End Sub
End Class
End Namespace
要查看您想要的代码页是否可用,您可以使用GetEncodings
获取它们的列表。
答案 1 :(得分:2)
ANSI编码可能意味着任何编码。
Encoding.Default
将在Windows中返回您的默认代码页(它取决于运行程序的Windows中的区域设置)。
如果文件是用其他代码页编码的,则必须将StreamReader编码设置为该代码页,如下所示:
Encoding.GetEncoding(1250);
1250是中欧和东欧拉丁语代码页。
稍后添加:
您询问是否以ANSI格式保存 - 只需使用与StreamWriter
编码相同的StreamReader
。
很少有关于维基百科代码页的代码页示例和更多内容:link