-1

我是一名初学者程序员,我目前正在寻找一种将文本从 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
4

2 回答 2

4

我相信您的意思是 ANSI编码而不是encrypted

您可以使用此处Encoding.GetEncoding列表中的代码页之一,而不是使用. 这是我上面链接的页面中的代码示例:Encoding.DefaultGetEncoding

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获取它们的列表。

于 2013-05-25T01:38:45.180 回答
2

ANSI 编码可能意味着任何编码。

Encoding.Default将返回您在 Windows 中的默认代码页(这取决于程序运行的 Windows 中的区域设置)。

如果文件使用其他代码页编码,则必须将 StreamReader 编码设置为该代码页,如下所示:

Encoding.GetEncoding(1250);

1250 是中欧和东欧拉丁代码页。


后来补充:

您询问了以 ANSI 格式保存回 - 只需使用StreamWriterStreamReader.

很少有代码页示例以及更多关于 Wikipedia 上的代码页的信息:链接

于 2013-05-25T01:38:55.400 回答