私は0-255の範囲のintを持ちます。この文字のASCII値が指定された整数になるようにString(長さ1)を作成します。ASCIIコード(0-255)を関連する文字の文字列に変換する方法は?
Javaでこれを行う簡単な方法はありますか?
例:あなたが言うように、0〜255の間で、あなたは単一の文字の配列を取得します、整数をされると仮定すると、
65 -> "A"
102 -> "f"
私は0-255の範囲のintを持ちます。この文字のASCII値が指定された整数になるようにString(長さ1)を作成します。ASCIIコード(0-255)を関連する文字の文字列に変換する方法は?
Javaでこれを行う簡単な方法はありますか?
例:あなたが言うように、0〜255の間で、あなたは単一の文字の配列を取得します、整数をされると仮定すると、
65 -> "A"
102 -> "f"
String.valueOf
(
Character.toChars(int)
)
Character.toChars
から返されます。これは、String.valueOf
に渡されると1文字の文字列になります。 Character.toChars
を使用して
あなたはキャスト(エラーを飲み込むだろうしながら、適切に整数を検証するために失敗した場合Character.toChars
はIllegalArgumentException
をスローすることを含め、いくつかの理由で(すなわち(char) i
)char
にint
からキャストを伴う方法に好適ですnarrowing primitive conversions specification)、意図したもの以外の出力が得られる可能性があります。
整数が0から255の範囲で(あなたがしているように...質問が指定するように)、 'toChars'を使うのは不必要で、最適ではありません。 –
'Character.toString((char)i)'のようなものが 'String.valueOf(Character.toChars(i))'よりも速いのはまったく正しいと思います。私のマシンで与えられた範囲(100回、安全である)で1,000,000のランダムな整数を変換するというクイックベンチマークを実行すると、平均時間は153.07ナノ秒で、862.39ナノ秒です。しかし、興味深いアプリケーションでは、最適化するためにはるかに重要なことがあります。安全で決定論的な取り扱いの付加価値と[0,255]の範囲外への拡張の容易さは、マイナーなパフォーマンスヒットを上回る必要がある場合に必要です。 – zjs
new String(new char[] { 65 }))
あなたは、その単一の文字のJava文字で(ASCII)コード65を持っているが、数値データ型である長さ1の文字列となってしまいます。聞かせて、文字に
タイプキャスト整数:
System.out.println((char)65);
は ""
REPL tip:JShell(Java 9)を使用している場合は、System.outを省略できます。 '(char)65'と入力するだけで、どの文字かを知ることができます。 – DavidS
一つは、同じことを行うための簡単な方法この
int asciiForLowerA = 97;
int asciiForLowerZ = 122;
for(int asciiCode = asciiForLowerA; asciiCode <= asciiForLowerZ; asciiCode++){
search(sCurrentLine, searchKey + Character.toString ((char) asciiCode));
}
などのAからZまで繰り返すことができます印刷しますint n
は整数、 、
Char c=(char)n;
System.out.print(c)//char c will store the converted value.
int number = 65;
char c = (char)number;
は、それが単純な溶液
あるこれはチャーにINTを変換することによって、一つはASCIIコードに対応する文字を決定することができることを示しており、一例です。
public class sample6
{
public static void main(String... asf)
{
for(int i =0; i<256; i++)
{
System.out.println(i + ". " + (char)i);
}
}
}
上の回答のみで問題を解決してください。あなたの答えをheres:
Integer.decode(Character.toString(char c));
for (int i = 0; i < 256; i++) {
System.out.println(i + " -> " + (char) i);
}
char lowercase = 'f';
int offset = (int) 'a' - (int) 'A';
char uppercase = (char) ((int) lowercase - offset);
System.out.println("The uppercase letter is " + uppercase);
String numberString = JOptionPane.showInputDialog(null,
"Enter an ASCII code:",
"ASCII conversion", JOptionPane.QUESTION_MESSAGE);
int code = (int) numberString.charAt(0);
System.out.println("The character for ASCII code "
+ code + " is " + (char) code);
答えを説明してください – want2learn
これは上記のように重複していません。これは整数からの変換ではなく、char(ascii) –
*からです。*「intからStringに変換する方法」の複製ではありません...とにかく、FWIW、ASCIIは値[0、127]の7ビットのみです。 - ) –
@phooji私はポストsais変換する方法1 - > "1"など ' – Belgi