【发布时间】: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 字符转换为等效的一个字节。