java字元轉換二進制
A. java 如何將String轉換為2進制流通過Socket發送到伺服器,最好附上代碼。
public
static
void
main(String[]
args)
{
//
信息
String
msg
=
"abcdefg";
try
{
//
連接到具體的地址跟埠號
Socket
socket
=
new
Socket("www.xxx.com",
8080);
//
獲得輸出流並寫入數據
OutputStream
out
=
socket.getOutputStream();
out.write(msg.getBytes());
out.flush();
out.close();
}
catch
(UnknownHostException
e)
{
e.printStackTrace();
}
catch
(IOException
e)
{
e.printStackTrace();
}
}
B. 在java中怎麼把位元組數組轉換成二進制字元串
可以使用Integer類的toBinaryString方法,例如:
bytea=0x45;
StringbinStr=Integer.toBinaryString(a).
API中toBinaryString的解釋:
toBinaryString
public static String toBinaryString(inti)
以二進制(基數 2)無符號整數形式返回一個整數參數的字元串表示形式。
如果參數為負,該無符號整數值為參數加上 232;否則等於該參數。將該值轉換為二進制(基數 2)形式的無前導0的 ASCII 數字字元串。如果無符號數的大小為零,則用一個零字元'0'(』u0030』) 表示它;否則,無符號數大小的表示形式中的第一個字元將不是零字元。字元'0'('u0030') 和'1'('u0031') 被用作二進制數字。
參數:
i- 要轉換為字元串的整數。
返回:
用二進制(基數 2)參數表示的無符號整數值的字元串表示形式。
從以下版本開始:
JDK1.0.2
C. java中如何將字元串轉換為二進制數
java.lang.Integer這個API包中有進制轉換的函數
public static String toBinaryString(int i)
public static String toHexString(int i)
public static String toOctalString(int i)
這3個函數都可以將十進制的整數轉換成二、一六、八進制數
不過轉換後的結果都是字元串的形式
D. java有什麼api可以將字元串直接轉換成相應二進制數
public class Test01 {
public static void main(String[] args) {
//比如我現在要轉這個字元串
String str = "Hello World";
//先把他變為字元數組
char[] chs = str.toCharArray();
//然後通過integer中的toBinaryString方法來一個一個轉
for (int i = 0; i < chs.length; i++) {
System.out.print(Integer.toBinaryString(chs[i]));
}
}
}
100100
E. java 字元串轉二進制問題
給個函數好了
public static String fillLeft(char fillChar, long len, String inputStr) {
String resultStr = "";
String cStr = "";
if (inputStr.length() > len)
resultStr = inputStr;
else
for (int i = 0; i < len - inputStr.length(); i++)
cStr = cStr + fillChar;
resultStr = cStr + inputStr;
return resultStr;
}
作用就是左邊補指定的字元
你需要的是將
result +=Integer.toBinaryString(strChar[i]);
改為 result +=fillLeft('0',8,Integer.toBinaryString(strChar[i]));