如何将二进制字符串转换为bytes []数组?

时间:2013-05-16 21:38:42

标签: c# javascript .net

由于Mozilla的btoaatob与IE不兼容,因此我使用Nick Galbreath's solution全面运作。

在我的JS中,我有这个片段:

reader.onload = function (e)
{
    var base64str = e.target.result.split(';')[1].split(',')[1];
    var binaryData = base64.decode(base64str); 

    // binaryData looks like: 3!1AQa"q2¡±B#$RÁb34rÑC%Sðáñcs5¢²&DTdE£t
    // 6ÒUâeò³ÃÓuãóF'¤´ÄÔäô¥µÅÕåõVfv¦¶ÆÖæö7GWgw§·Ç×ç÷5!1AQaq"2¡±B#ÁRÑð
    // 3$bárCScs4ñ%¢²&5ÂÒDT£dEU6teâò³ÃÓuãóF¤´ÄÔäô¥µÅÕåõVfv¦¶ÆÖæö'7GWgw
    // §·ÇÿÚ?õTI%)$IJI$RIrÿ[múÙxÝ^«ÝKØrþk²ïÑûíGóß÷¿ÑþÄY«ÍÓ±×úN //...
    // Is this even binary data?

    Ajax.SendToHandler(binaryData);
}

如何将binaryData(作为字符串发送到我的ashx派生IHttpHandler)转换为bytes[]数组?

让我澄清需要的地方!

1 个答案:

答案 0 :(得分:2)

您的数据字符串似乎只包含扩展的ASCII字符(可能是Windows-1252字符或ISO 8859-1字符)。您应该尝试使用System.Text.Encoding将其转换为字节。