Javascript:将Unicode字符串转换为十六进制时出错

时间:2017-01-16 13:08:26

标签: javascript unicode hex sap sapui5

我试图在SAPUI5 WebIDE中的javascript控制器中将unicode字符串转换为十六进制表示。

我正在使用此函数将unicode数据转换为十六进制。 Str变量包含Unicode数据

WS = CType(WSS(1), Excel.Worksheet)

这是我在十六进制变量

中得到的结果的第一行
convertToHex: function(str) {

        var hex = '';
        var i = 0;
        while (str.length > i) {
            hex += '' + str.charCodeAt(i).toString(16);
            i++;
        }
        console.log(hex);
        return hex;
    },

现在,当我将相同数据上传到SAP Netweaver网关时,它会将unicode数据转换为十六进制,如下所示(第一行):

504b3414060800021062ee9d685e10090400130825b436f6e74656e745f54797065735d2e786d6c20a24228a002

这是解码的unicode:

504B03041400060008000000210062EE9D685E01000090040000130008025B436F6E74656E745F54797065735D2E786D6C20A2040228A00002

为了我的应用程序工作,我需要两个十六进制代码相同,但我无法在Javascript中生成正确的十六进制代码,而在SAP中我得到正确的十六进制值。

0 个答案:

没有答案