代码之家  ›  专栏  ›  技术社区  ›  Will Mcavoy

将UTF 8字符串代码(代码保存在字符串变量中)转换为UTF 16字符串(实际UTF 16字符)

  •  0
  • Will Mcavoy  · 技术社区  · 7 年前

    Js代码:

    var compressed = LZString.compressToUTF16(uncompressed64Data);
    var utf8values = toUTF8Array(compressed); 
        jQuery.ajax({
    data :"img=+" utf8values 
    }
    

    我在java服务器端收到了如下UTF 8代码:

     String utf8values = request.getParameter("img");
    

    UTF8值:2251861622271601181229160165

    现在我想把代码变成实际的UTF 16字符串?

    提前感谢!

    1 回复  |  直到 7 年前
        1
  •  1
  •   Oleg    7 年前

    以下各项应起作用:

    String[] split = "225,186,162,227,160,181,229,160,165".split(",");
    ByteBuffer bb = ByteBuffer.allocate(split.length);
    Arrays.stream(split).forEach(a -> bb.put((byte)Integer.parseInt(a)));
    bb.flip();
    String string = Charset.forName("UTF-8").decode(bb).toString();