Created
May 9, 2017 14:21
-
-
Save robertosljunior/abdbfb89913dad2077f06e4928b8b48a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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; | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment