java - 如何从十六进制编码字符串解码为 UTF-8 字符串

标签 java javascript

我得到 HTML Javascript 字符串,例如:

htmlString = "https\x3a\x2f\x2ftest.com"

但我想将其解码如下:

str = "https://test.com"

这意味着,我想要一个像这样的 Util API:

 public static String decodeHex(String htmlString){
   // do decode and converter here 
 }

 public static void main(String ...args){
       String htmlString = "https\x3a\x2f\x2ftest.com";
       String str = decodeHex(htmlString);
       // str should be "https://test.com"
 }

有人知道如何实现这个 API -decodeHex 吗?

最佳答案

这应该足以让您开始。我将实现 hexDecode 和整理格式错误的输入作为练习留给您。

public String decode(String encoded) {
  StringBuilder sb = new StringBuilder();
  for (int i = 0; i < encoded.length(); i++) {
    if (encoded.charAt(i) == '\' && (i + 3) < encoded.length() && encoded.charAt(i + 1) == 'x') {
      sb.append(hexDecode(encoded.substring(i + 2, i + 4)));
      i += 3;
    } else {
      sb.append(encoded.charAt(i));
    }
  }
  return sb.toString;
}

关于java - 如何从十六进制编码字符串解码为 UTF-8 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23208998/

相关文章:

java - Hibernate MappingException 未知实体 : $Proxy2

javascript - AngularJs - "deferred"或 "batched"指令

javascript - 在纯 Python 环境中执行 JavaScript

javascript - 使用 Javascript 和 HTML 读取和处理 XML

Javascript 无法读取未定义的属性 'document'

php - CKEditor - CKFinder 在我上传图片后不会自动创建缩略图

java 。帮助找出为什么我的代码不起作用

java - 将中缀表达式(带括号)转换为二叉树

java - 损坏的 Eclipse 构建路径?

java - 找不到 transform-api.jar