如何将字符串转换为html可读ascii字符

30byixjq  于 2021-07-12  发布在  Java
关注(0)|答案(2)|浏览(481)

我正在尝试将java字符串转换为html可读代码。
例如:h e l o w o r l d as &#x48 &#x65 &#x6c &#x6c &#x6f &#x57 &#x6f &#x72 &#x6c &#x64 到目前为止我所做的:

private static String convertToAscii(String str) {
        for(int i=0; i<str.length(); i++) {
            str += "&#"+(int)str.charAt(i);
        }
    return str;
    }

它需要太多的时间加上处理器风扇制造噪音。
提前谢谢

lymnna71

lymnna711#

这个gif并不是一个完美的描述这里发生了什么,但它得到了基本的想法

在这里。。。

for(int i=0; i<str.length(); i++)

…您正在遍历名为 str .
但是在这里。。。

str += ...

…您正在添加到str。
您试图到达str的末尾,但实际上是为每个循环添加str。你已经创建了一个无限循环。
添加到其他字符串。这样地。

private static String convertToAscii(String str) {

      String output = "";

      for(int i=0; i<str.length(); i++) {
         output += "&#"+(int)str.charAt(i);
      }

      return output;

   }
gywdnpxw

gywdnpxw2#

你也可以这样做:

private static String convertToAscii(String str) { 
    return str     
              .chars() 
              .boxed()
              .reduce("", (subRes, currVal) -> subRes + "&#" + currVal + ";" , (subVal, mappedVal) -> subVal + "" + mappedVal);

使用java>=8会更快

相关问题