由于Mozilla的btoa
和atob
与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[]
数组?
让我澄清需要的地方!
答案 0 :(得分:2)
您的数据字符串似乎只包含扩展的ASCII字符(可能是Windows-1252字符或ISO 8859-1字符)。您应该尝试使用System.Text.Encoding
将其转换为字节。