私は今、ハフマン符号化を行っていますが、道路でこのバンプに出くわしました。私はほとんどすべてを完了しましたが、これは 1 つの部分です。私の現在の主な問題は、コードを使用してエンコードされた 0 と 1 のバイナリ文字列を格納する方法がわからないことです。普通に書き出すだけですが、エンコードした元のテキストファイルよりもファイルサイズが大きくなってしまいます。これが起こらないように、バイナリ文字列をどのように保存する必要があるかについて、誰かが私にアイデアを与えることができますか?
更新 char にキャストしようとすると、多くの char が認識されず、最終的に ?s として出力されることに気付きました。
String u = scanner.nextLine();
char l;
for(int b = 0;b<u.length();b++)
{
l = u.charAt(b);
int c = (int) u.charAt(b);
String p = Integer.toBinaryString(c);
if(b!= u.length()-1)
{
while(p.length()!=8){
p = "0" + p;
//Thread.sleep(3000);
}
}System.out.println(p);
k.append(p);
それは?00111111を印刷してください。これを修正する方法について誰か提案がありますか?