C# 使用unicode字节数组保存文件-初学者

C# 使用unicode字节数组保存文件-初学者,c#,C#,我有一个文本文件,我正在将其转换为unicode,然后想将内容保存到一个文件中。我想以两种格式保存在文件中: 使用unicode 使用类似英语的字符(如file.doc) GetBytes将字符串转换为字节,不将文件路径作为输入。您必须使用StreamReader来读取文件文本。要获得编码字节,只需将读取的字节传递给System.Text.encoding.UTF16.GetBytes(stringIJustReadFromFile) 对于ASCII,请使用System.Text.Encodi

我有一个文本文件,我正在将其转换为unicode,然后想将内容保存到一个文件中。我想以两种格式保存在文件中:

  • 使用unicode
  • 使用类似英语的字符(如file.doc)

  • GetBytes将字符串转换为字节,不将文件路径作为输入。您必须使用StreamReader来读取文件文本。要获得编码字节,只需将读取的字节传递给System.Text.encoding.UTF16.GetBytes(stringIJustReadFromFile)


    对于ASCII,请使用System.Text.Encoding.ASCII.GetBytes(stringIJustReadFromFile),您可以使用StreamWriter将其写入其他文件。

    GetBytes将字符串转换为字节,不将文件路径作为输入。您必须使用StreamReader来读取文件文本。要获得编码字节,只需将读取的字节传递给System.Text.encoding.UTF16.GetBytes(stringIJustReadFromFile)


    对于ASCII,请使用System.Text.Encoding.ASCII.GetBytes(stringIJustReadFromFile),您可以使用StreamWriter将它们写入其他文件。

    字节是字节:只有8位二进制数

    编码只适用于文本,如果进行了二进制读取,则无法获得文本

    如果您想用一种编码读取文本文件,然后用另一种编码写入,您可以这样做:

    Encoding sourceEncoding = Encoding.UTF8  ; // or whatever encoding the source file is encoded with
    Encoding targetEncoding = Encoding.UTF32 ; // or whatever destination encoding you desire
    string   data           = File.ReadAllText( @"C:\original.txt" , sourceEncoding ) ;
    File.WriteAllText( @"C:\different-encoding.txt" , data , targetEncoding ) ;
    

    您应该记住,在CLR基础结构中,字符串在内部表示为Unicode文本的UTF-16编码。

    字节是字节:只有8位二进制数

    编码只适用于文本,如果进行了二进制读取,则无法获得文本

    如果您想用一种编码读取文本文件,然后用另一种编码写入,您可以这样做:

    Encoding sourceEncoding = Encoding.UTF8  ; // or whatever encoding the source file is encoded with
    Encoding targetEncoding = Encoding.UTF32 ; // or whatever destination encoding you desire
    string   data           = File.ReadAllText( @"C:\original.txt" , sourceEncoding ) ;
    File.WriteAllText( @"C:\different-encoding.txt" , data , targetEncoding ) ;
    

    您应该记住,在CLR基础结构中,字符串在内部表示为Unicode文本的UTF-16编码。

    从何时起,
    .doc
    文件是文本文件?我想你可能会感到困惑,而是在那里有一个Microsoft Word文档。Word文档中的内容远不止文本或Unicode。您可以使用
    .doc
    作为文件扩展名。这是Word文件吗?另外,Windows中的路径分隔符是\,而不是/@AndrewMorton实际上Windows支持两个方向。@ScottChamberlain使用它不是很不可靠吗。MS文档指定使用\作为目录分隔符。@AndrewMorton只有在使用
    \\?\
    前缀时才使用它。在您链接的同一文档中:“这些前缀不作为路径本身的一部分使用。它们表示路径应通过最小的修改传递给系统,这意味着您不能使用正斜杠表示路径分隔符,也不能使用句点表示当前目录…”所以只要你不使用
    \\?\
    就可以了。什么时候开始使用
    .doc
    文件文本文件了?我想你可能会感到困惑,而是在那里有一个Microsoft Word文档。Word文档中的内容远不止文本或Unicode。您可以使用
    .doc
    作为文件扩展名。这是Word文件吗?另外,Windows中的路径分隔符是\,而不是/@AndrewMorton实际上Windows支持两个方向。@ScottChamberlain使用它不是很不可靠吗。MS文档指定使用\作为目录分隔符。@AndrewMorton只有在使用
    \\?\
    前缀时才使用它。在您链接的同一文档中:“这些前缀不作为路径本身的一部分使用。它们表示路径应通过最小的修改传递给系统,这意味着您不能使用正斜杠表示路径分隔符,也不能使用句点表示当前目录…”因此,只要您不使用
    \\?\
    就可以了。