1. 在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
2. java 如何將二進制數據流轉換成字元串並保存
private static String bytesToString(String filename) {
String myreadline = "";
try {
// 創建FileReader對象,用來讀取字元流
FileReader fr = new FileReader("userinfo.txt");
// 緩沖指定文件的輸入
BufferedReader br = new BufferedReader(fr);
// 定義一個String類型的變數,用來每次讀取一行
while (br.ready()) {
// 讀取一行
myreadline = myreadline + (myreadline.equals("")?"":"\n") + br.readLine();
// 在屏幕上輸出
System.out.println(myreadline);
}
br.close();
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
return myreadline;
}
public static void writerFile(String fileString, String filePath) {
FileWriter fw;
try {
fw = new FileWriter(filePath);
// 將緩沖對文件的輸出
BufferedWriter bw = new BufferedWriter(fw);
bw.write(fileString);
bw.flush();
bw.close();
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) throws FileNotFoundException,
Exception {
// TODO Auto-generated method stub
String fileString = bytesToString("D:/workspace/TestStruts2/userinfo.txt");
writerFile(fileString,"D:/workspace/TestStruts2/test.txt");
}
3. java二進制的數字與字元串互轉
現成的方法,多看api
4. java怎麼將二進制轉化成字元串
import java.io.UnsupportedEncodingException;
import java.util.Arrays;
/*
* String(byte[] bytes, String charsetName):通過指定的字元集解碼位元組數組
* byte[] getBytes(String charsetName):使用指定的字元集合把字元串編碼為位元組數組
*
* 編碼:把看得懂的變成看不懂的
* String -- byte[]
*
* 解碼:把看不懂的變成看得懂的
* byte[] -- String
*
* 舉例:諜戰片(發電報,接電報)
*
* 碼表:小本子
* 字元 數值
*
* 要發送一段文字:
* 今天晚上在老地方見
*
* 發送端:今 -- 數值 -- 二進制 -- 發出去
* 接收端:接收 -- 二進制 -- 十進制 -- 數值 -- 字元 -- 今
*
* 今天晚上在老地方見
*
* 編碼問題簡單,只要編碼解碼的格式是一致的。
*/
public class StringDemo {
public static void main(String[] args) throws UnsupportedEncodingException {
String s = "你好";
// String -- byte[]
byte[] bys = s.getBytes(); // [-60, -29, -70, -61]
// byte[] bys = s.getBytes("GBK");// [-60, -29, -70, -61]
// byte[] bys = s.getBytes("UTF-8");// [-28, -67, -96, -27, -91, -67]
System.out.println(Arrays.toString(bys));
// byte[] -- String
String ss = new String(bys); // 你好
// String ss = new String(bys, "GBK"); // 你好
// String ss = new String(bys, "UTF-8"); // ???
System.out.println(ss);
}
}
5. Java 一個文件裡面存儲的是二進制數據 讀取出來以字元串形式展示
不需要轉換。
解釋:任何文件的存儲都是通過二進制的形式進行存儲的,只不過經過機器語言編譯後,展示給用戶的體驗是中文或者是字元串形式。
備註:如果是想將數字轉換為二進制,可以直接通過Integer的toBinaryString方法直接進行轉換,舉例:
int i =8;
System.out.println(Integer.toBinaryString(i));
輸出結果就是:1000.
6. Java中,怎麼把二進制的byte數組用流的方法轉換成string字元竄ps:求代碼
既然是轉換成String,自己嘗試著new String 對象,會看到有很多不同的構造方法;比如說這個
System.out.println(new String("Coder.Yan".getBytes()));
7. java中如何將字元串轉換為二進制數
java.lang.Integer這個API包中有進制轉換的函數
public static String toBinaryString(int i)
public static String toHexString(int i)
public static String toOctalString(int i)
這3個函數都可以將十進制的整數轉換成二、一六、八進制數
不過轉換後的結果都是字元串的形式
8. java如何將8個二進制字元串轉化為對應的字元
StringBuilder sb = new StringBuilder();
for(int a : aa) {
sb.append(a);
}
System.out.println(sb);