2016-12-18 16 views
-1

Android/Javaの文字列から未知のエンコーディングをトリミングする方法。このことからAndroid sdk/Java - 文字列から不正な符号化データを取り除く

21044564������������������������������������������������

この先:

21044564 

編集

私はスマートカードからデータを取得するために、ホストカードのエミュレーションを使用しています。 スマートカードに第三者のソフトウェアを介してデータ "21044564"を保存しています。

が、私はバイト単位でデータを取得し、私はこのコード

String fileData = new String(payload, "UTF-8"); 

そして出力を介してStringにバイトを変換しています:

21044564������������������������������������������������ 
+0

実際に説明するならば、この質問に-1を与えるのではなくなぜこの質問が悪いのであれば、実際に役立つでしょう。 – m1alesis

+1

これは間違った質問であることをお勧めします。未知のエンコーディングをトリミングするのではなく、この文字列がどこから来ているのか、なぜこの文字列にすべての文字が含まれているのかを調べます。あなたが盲目的に捨てるだけではない重要なデータがあるかもしれません。たぶん間違ったパラメータをいくつかのサービスに渡しているかもしれませんし、間違ったエンコーディングでデータを返しているかもしれません。あなたがこの文字列を取得しているという事実は予期しないように思われます。これは他の問題を示唆しています。単に証拠を放棄するだけで、より多くの問題につながる可能性があります。根本的な原因を見つけます。 – ajb

+0

文字列に英数字を入れないと仮定すると、正規表現を使用してください: 'str.replaceAll(" [^ A-Za-z0-9] "、" ");' – shash678

答えて

0

がで英数字とスペースを保つためにだけ文句を言わないあなたを想定すると、文字列は次のように正規表現を使用してください:

String str = "21044564������������������������������������������������"; 
str = str.replaceAll("[^A-Za-z0-9 ]", ""); 
関連する問題