我想将字符串的每个字符转换为新的二进制字符串。这是我的工作:
public static void main(String args[]) {
String MESSAGE = "%";
String binaryResult = "";
for (char c : MESSAGE.toCharArray()){
binaryResult += Integer.toBinaryString( (int) c);
}
System.err.println(binaryResult);
}
以输入“%”为例,我得到以下输出:“ 100101”
我的问题是开头的“ 0”被删除了...
我想要:“ 0100101”。有人有想法吗?
最佳答案
您真正要说的是“如何将字符的二进制字符串表示形式填充到7位”?
替换此行:
binaryResult += Integer.toBinaryString( (int) c);
用这些:
String binString = Integer.toBinaryString( (int) c );
binaryResult += ("0000000" + binString).substring(binString.length());
这假定您只有7位字符...如果需要更多字符,则在“ 00000”字符串中添加0以匹配所需的字符串长度(填充0)。