将ANSI加密文件中的文本加载到RichTextBox中

时间:2013-05-25 00:47:04

标签: vb.net winforms

我是初学程序员,我目前正在寻找一种方法,将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

2 个答案:

答案 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