WinJS中的System.Text.Encoding

时间:2013-08-13 12:27:20

标签: windows-8 winjs

是否等同于

System.Text.Encoding.UTF8.GetString(fileContent) 
WinJS中的

(用javascript / HTML编写的Windows 8商店应用程序)?

EDIT。 fileContent是一个字节数组。

2 个答案:

答案 0 :(得分:2)

System.Text.Encoding.UTF8.GetString中没有WinJS的严格等价物,但您可以尝试将文件读取实现为字符串,如下所示:

file.openReadAsync().done(function (stream) {
   var blob = MSApp.createBlobFromRandomAccessStream(file.contentType, stream);
   var reader = new FileReader();

   reader.onload = function(event) {
      var fileAsText = event.target.result;
   };

   reader.readAsText(blob, 'UTF-8');
});

在大多数情况下(通过XHR上传文件,显示文件),您不需要将文件内容作为文本,因此只需使用Blob

答案 1 :(得分:0)

CryptographicBuffer.convertBinaryToString可以用于此目的。

var crypt = Windows.Security.Cryptography;
var bytes; // = new Uint8Array(100);
// TODO - set bytes variable with uint8array
var buffer = crypt.CryptographicBuffer.createFromByteArray(bytes);
var text = crypt.CryptographicBuffer.convertBinaryToString(
    crypt.BinaryStringEncoding.utf8, buffer);