forked from sheetjs/sheetjs
		
	
		
			
				
	
	
		
			38 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
// http://stackoverflow.com/a/5913807
 | 
						|
 | 
						|
if(/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent)) {
 | 
						|
    var IEBinaryToArray_ByteStr_Script =
 | 
						|
    "<!-- IEBinaryToArray_ByteStr -->\r\n"+
 | 
						|
    "<script type='text/vbscript'>\r\n"+
 | 
						|
    "Function IEBinaryToArray_ByteStr(Binary)\r\n"+
 | 
						|
    "   IEBinaryToArray_ByteStr = CStr(Binary)\r\n"+
 | 
						|
    "End Function\r\n"+
 | 
						|
    "Function IEBinaryToArray_ByteStr_Last(Binary)\r\n"+
 | 
						|
    "   Dim lastIndex\r\n"+
 | 
						|
    "   lastIndex = LenB(Binary)\r\n"+
 | 
						|
    "   if lastIndex mod 2 Then\r\n"+
 | 
						|
    "       IEBinaryToArray_ByteStr_Last = Chr( AscB( MidB( Binary, lastIndex, 1 ) ) )\r\n"+
 | 
						|
    "   Else\r\n"+
 | 
						|
    "       IEBinaryToArray_ByteStr_Last = "+'""'+"\r\n"+
 | 
						|
    "   End If\r\n"+
 | 
						|
    "End Function\r\n"+
 | 
						|
    "</script>\r\n";
 | 
						|
 | 
						|
    // inject VBScript
 | 
						|
    document.write(IEBinaryToArray_ByteStr_Script);
 | 
						|
}
 | 
						|
 | 
						|
var convertResponseBodyToText = function (binary) {
 | 
						|
        var byteMapping = {};
 | 
						|
        for ( var i = 0; i < 256; i++ ) {
 | 
						|
            for ( var j = 0; j < 256; j++ ) {
 | 
						|
                byteMapping[ String.fromCharCode( i + j * 256 ) ] =
 | 
						|
                    String.fromCharCode(i) + String.fromCharCode(j);
 | 
						|
            }
 | 
						|
        }
 | 
						|
        var rawBytes = IEBinaryToArray_ByteStr(binary);
 | 
						|
        var lastChr = IEBinaryToArray_ByteStr_Last(binary);
 | 
						|
        return rawBytes.replace(/[\s\S]/g,
 | 
						|
                                function( match ) { return byteMapping[match]; }) + lastChr;
 | 
						|
};
 |