Java文字列は16ビット幅の文字に基づいており、明確な仕様がない場合は、その前提を中心に変換を実行しようとします。
次のサンプルコードでは、データを直接バイトとして書き込み、読み取ります。これは、8ビットの数値で、ASCIIの意味が関連付けられています。7ビットのASCIIコードの固定サブセットが印刷可能である
import java.io.*;
public class RWBytes{
public static void main(String[] args)throws IOException{
String filename = "MiTestFile.txt";
byte[] bArray1 =new byte[5];
byte[] bArray2 =new byte[5];
bArray1[0]=65;//A
bArray1[1]=66;//B
bArray1[2]=67;//C
bArray1[3]=68;//D
bArray1[4]=69;//E
FileOutputStream fos = new FileOutputStream(filename);
fos.write(bArray1);
fos.close();
FileInputStream fis = new FileInputStream(filename);
fis.read(bArray2);
ByteArrayInputStream bais = new ByteArrayInputStream(bArray2);
for(int i =0; i< bArray2.length ; i++){
System.out.println("As the bytem value: "+ bArray2[i]);//as the numeric byte value
System.out.println("Converted as char to printiong to the screen: "+ String.valueOf((char)bArray2[i]));
}
}
}
、例えばA = 65、発見し、「印刷」と、画面上の一行を降圧「改行」の文字に対応する10。文字指向のスクリーンを操作する他の多くのコードが存在し、これらは目に見えず、タブ、スペースなどのようなスクリーン表現を操作します。例えばベルを鳴らす目的を持った他の制御文字もあります。
127より上位の8ビットは、実装者が望むものとして定義され、下位半分だけが標準的な意味を関連付けています。
一般的なバイナリバイト処理では、そのようなクオンムはありません。データを表す数字です。画面に印刷しようとするときだけ、あらゆる種類の意味があります。
コードを確認できますか? – Tim
にコードを追加しました – Rohan
Base64エンコーディングの使い方は? –