将文本字符串转换为八进制字符串

时间:2018-07-09 12:44:36

标签: java

我需要将文本字符串转换为WinANSIEncoding兼容(Windows代码页1252)八进制字符串(使用Java)。

André”应变为“ 101 156 144 162 351”或“ "\101\156\144\162\351".

我可以使用简单的字符串搜索并替换允许的字符列表中的每个字符,但这可能不是最快的解决方案。

有人知道该怎么做吗?

感谢

TM

https://cryptii.com/text-octal

1 个答案:

答案 0 :(得分:0)

toOctalString(int i)将帮助您:


  1. 使用Streams

    String str ="André";
    String toOctal = str.chars().boxed().map(Integer::toOctalString)
                                        .collect(Collectors.joining(" "));
    
    System.out.println(toOctal); // 101 156 144 162 351
    

    Workable Demo


  1. 基本循环

    String str ="André";
    String toOctal ="";
    for(char c : str.toCharArray()){
        toOctal += Integer.toOctalString(c)+" ";
    }
    System.out.println(toOctal);