如何在javascript/jquery中将编码的base 64转换为UTF-16LE

如何在javascript/jquery中将编码的base 64转换为UTF-16LE,javascript,jquery,cordova,utilities,Javascript,Jquery,Cordova,Utilities,Mine是一个Phonegap项目,支持两个平台(Android和IOS) 对于任何服务器请求,我需要设置授权标头。此标头应为编码的base64 UTF-16LE格式,以接收响应 我能够使用jquerybase-64插件将其编码为base64 var base64Enc=$.base64.encode("Surya@gmail.com"+":"+"Password01"); 这很好。但我需要将其转换为UTF-16LE,它必须设置为我请求的授权头 beforeSend: function(xhr

Mine是一个Phonegap项目,支持两个平台(Android和IOS)

对于任何服务器请求,我需要设置授权标头。此标头应为编码的base64 UTF-16LE格式,以接收响应

我能够使用jquerybase-64插件将其编码为base64

var base64Enc=$.base64.encode("Surya@gmail.com"+":"+"Password01");
这很好。但我需要将其转换为UTF-16LE,它必须设置为我请求的授权头

beforeSend: function(xhr){
             xhr.setRequestHeader("Content-Type", "application/json");
             xhr.setRequestHeader("Authorization", "Basic " + base64Enc);
        },
如何将base64Enc转换为UTF-16LE。 在java中,我可以使用
新字符串(Base64.encodeBase64(“Surya@gmail.com:Password01.getBytes(“UTF-16LE”))

请帮助我如何在JavaScript/jquery中实现这一点。jquery是否有任何插件来实现这一转换,或者我是否应该使用任何实用程序来实现这一转换


请在这方面帮助我。提前谢谢。

假设您不必支持IE<10,请使用本机ECMAScript

使用
window.atob()
1和
window.btoa()
2 自:

DOMStrings是16位编码的字符串3


一,

二,


3

Mine是一款手机应用程序(Phonegap),我支持Android和IOS。这种方法适用于手机应用程序吗?好的,是的。据我所知,Phonegap只是简单地包装了一个webview,所以在引擎盖下,它仍然是Javascript/HTML等。上述方法在Webkit中工作,iOS和Android浏览器都固有地运行。我可以使用$.base64.encode(“Surya@gmail.com“+”:“+”密码01“/window.btoa(”Surya@gmail.com“+”:“+”密码01”);但我希望它是base64 UTF-16LE格式。我如何将它转换为UTF-16LE?是的。它们都返回UTF8而不是UTF16.:(window.btoa(“lame”)返回“bGFtZQ=”,当它应该返回与echo-n lame | iconv-f UTF-8-t UTF-16LE相同的字符串时,它是babhagoazqa=btoa将字符串编码为UTF8
/* Base64 Encode */ 
var base64Enc = window.btoa("Surya@gmail.com"+":"+"Password01");

/* Base64 Decode (as UTF16 DOMString) */
var utf16Dec = window.atob(base64Enc);