我想将String的每个字符转换为新的二进制字符串。这是我的工作:
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”。有没有人有想法?
答案 0 :(得分:1)
你真正说的是“如何将字符的二进制字符串表示填充为7位”?
替换此行:
binaryResult += Integer.toBinaryString( (int) c);
有了这些:
String binString = Integer.toBinaryString( (int) c );
binaryResult += ("0000000" + binString).substring(binString.length());
这假设您只有7位字符...如果您需要更多,则将0添加到“00000”字符串以匹配您想要的字符串长度(带填充0)。