【问题标题】:convert from UTF16le to UTF8从 UTF16le 转换为 UTF8
【发布时间】:2019-09-13 21:24:32
【问题描述】:

我有以下代码,我在内存中创建一个文件并上传到 S3 存储桶。

我正在努力使用 UTF8 对文件进行编码。它以 UTF16le 格式交付。

当前代码:

 // Create the data to write to the stream.
        byte[] memstring = uniEncoding.GetBytes(fileContent);
        using (MemoryStream memStream = new MemoryStream(10000))

我尝试过使用它,但对我不起作用:

            byte[] memstring = Encoding.UTF8.GetBytes(fileContent);

感谢任何帮助。

【问题讨论】:

  • this question 上的答案有帮助吗?我知道这与字符串有关,但是...我不确定您的文件内容中有什么。这可能是最大的问题。
  • 没有简单的方法。 ASCII 字符 0 到 0x7F 和标准的所有编码。字符 0x80 到 0xFF 因编码类型而异。所有字符 0x80 到 0xFF 也有一个 unicode 等价物。 ASCII 是一个字节,而 unicode 是两个。创建编码样式以避免使用两个字节字符(unicode)。因此,要从 UTF16 转到 UTF8,您需要使用包含所有 unicode 字符的 8 位编码,然后将两个字节的 unicode 字符转换为等效的一个字节。

标签: c# utf


【解决方案1】:

我正在尝试使用:

byte[] memstring = Encoding.UTF8.GetBytes(fileContent);

我只是在我的测试环境中遇到了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-20
    • 1970-01-01
    • 2016-01-12
    • 2018-07-24
    • 1970-01-01
    • 2021-06-21
    • 1970-01-01
    相关资源
    最近更新 更多