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

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

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

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

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

lymnna71

lymnna711#

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

在这里。。。

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

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

  1. str += ...

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

  1. private static String convertToAscii(String str) {
  2. String output = "";
  3. for(int i=0; i<str.length(); i++) {
  4. output += "&#"+(int)str.charAt(i);
  5. }
  6. return output;
  7. }
展开查看全部
gywdnpxw

gywdnpxw2#

你也可以这样做:

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

使用java>=8会更快

相关问题