UNPKG

ilib

Version:

iLib is a cross-engine library of internationalization (i18n) classes written in pure JS

2 lines 1.08 kB
// !data charset/UTF-16 charset/UTF-16BE var Charset=require("./Charset.js"),Charmap=require("./Charmap.js"),UTF16BE=function(options){"object"==typeof(options=options||{sync:!0}).charset&&options.charset instanceof Charset?(this.charset=options.charset,this._init(options)):new Charset({name:"UTF-16BE",sync:options.sync,loadParams:options.loadParams,onLoad:ilib.bind(this,function(cs){this.charset=cs,this._init(options)})})};UTF16BE.prototype=new Charmap({noinstance:!0}),UTF16BE.prototype.parent=Charmap,(UTF16BE.prototype.constructor=UTF16BE).prototype._init=function(options){this._calcExpansionFactor(),"function"==typeof options.onLoad&&options.onLoad(this)},UTF16BE.prototype.mapToUnicode=function(bytes){for(var ret="",i=0;i<bytes.length;i+=2)ret+=String.fromCharCode(bytes[i]<<8|bytes[i+1]);return ret},UTF16BE.prototype.mapToNative=function(str){for(var c,ret=new Uint8Array(2*str.length+2),i=0;i<str.length;i++)c=str.charCodeAt(i),ret[2*i]=c>>8&255,ret[2*i+1]=255&c;return ret[2*i+1]=0,ret[2*i+2]=0,ret},Charmap._algorithms["UTF-16BE"]=UTF16BE,module.exports=UTF16BE;