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]));