java - 如何将字符串转换为7位二进制

标签 java string binary

对于一项作业,我试图将字符串转换为 7 位二进制文​​件。但是,我们不允许使用 Integer.toBinaryString(int)。这是我到目前为止所拥有的

public static int[] encodeToBit(String str) {   

    int[] convertString = new int[str.length() * 7];

    for (int i = 0; i < convertString.length; i++) {
        convertString[i] = (int)str.charAt(i);

        for (int j = convertString.length; j >=0 ; j--) {

            while (true) {
            convertString[i] =

            }
        } 
    }
    return convertString;
}

有关如何将 char 的整数 ASCII 表示形式转换为 7 位二进制的任何建议。

编辑: 例如,encodeToBit(“C”)应该输出数组

[ 1, 0, 0, 0, 0, 1, 1 ]

最佳答案

我假设您想要一个由 0 和 1 组成的数组,每个字符有 7 个。

public static byte[] encodeTo7Bits(String str) {
    byte[] bytes = new byte[str.length() * 7];
    for (int i = 0; i < str.length(); i++) {
        char ch = str.charAt(i);
        assert ch < 128;
        for (int j = 0; j < 7; j++) 
            bytes[i * 7 + j] = (byte) ((ch >> (7 - j)) & 1);
    }
    return bytes;
}

关于java - 如何将字符串转换为7位二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36519977/

相关文章:

java - 如何在Java程序中通过正则表达式仅显示网页内容(不显示任何标签、链接)

java - Java 的 RTSP 库

c - 如何用等效的 strcat() 替换 memcpy() ?

java - 正则表达式来找到这种模式?

c - 二进制转换代码 段错误

python - 整数到二进制转换

java - 媒体播放器声音不重叠

java - 在我的 Spring Hibernate 项目上获取 InvokingTargetException

php - 当单词太长时添加空格

java - (Java) 将二进制数转换为字符串时指定位数(长度)?