我有一個代碼可以將英文字母值轉換爲二進制代碼(a - > 01100001)。代碼工作正常,但有一個例外。當轉換後出現結果時,前面缺少「0」。例如:a - > 1100001.不管小寫字母是大寫還是小寫。在Java中的任何字符串值到二進制轉換
爲什麼這樣做?我需要的是在前面0。 參考:http://www.convertbinary.com/alphabet/
注意:字符串值(用戶名)是由最終用戶輸入的,而不是代碼中的自身代碼,因爲此處有些線程關於轉換顯示。
public class ConversionController {
/**
* The getBinaryName is used to convert string to binary form
*
* @param name
* to be converted
* @return converted binary name
*/
public String getBinaryName(String name) {
if (name == null || name.isEmpty()) {
return "";
}
String result = "";
char[] messChar = name.toCharArray();
for (int i = 0; i < messChar.length; i++) {
result += Integer.toBinaryString(messChar[i]) + " ";
}
return result;
}
}
解決方案:在轉換結果前面加上「0」。 result + =「0」+ Integer.toBinaryString(messChar [i])+「」;
在我看來,你需要考慮的第一件事是你想要使用的編碼。例如,你想要輸出什麼? –
你的問題是你需要填充。看到這個問題https://stackoverflow.com/questions/4421400/how-to-get-0-padded-binary-representation-of-an-integer-in-java –
喬恩:可能:-) – GhostCat