web-dev-qa-db-ja.com

ASCII code(0-255)を関連する文字列に変換するにはどうすればいいですか?

Int intが0から255の範囲にあり、この1文字のASCIIの値が指定された整数になるようにString(長さ1)を作成したい。

Javaでこれを行う簡単な方法はありますか?

例:

65  -> "A"
102 -> "f"
115
Belgi

System.out.println((char)65);は "A"を表示します

53
RylandAlmanza

String.valueOf(- Character.toChars(int))

あなたが言うように、整数が0から255の間であると仮定すると、Character.toCharsから返される単一文字の配列を取得します。これは、String.valueOfに渡されると単一文字の文字列になります。

Character.toCharsの使用は、さまざまな理由でintからcharへのキャスト(つまり(char) i)を伴うメソッドよりも推奨されます。これには、キャストがエラーを飲み込むときに整数を適切に検証できなかった場合にCharacter.toCharsIllegalArgumentExceptionをスローするなどが含まれます- プリミティブ変換仕様の縮小 )、潜在的に意図したもの以外の出力を提供します。

28
zjs
int number = 65;
char c = (char)number;

それは簡単な解決策です

8
athena
new String(new char[] { 65 }))

あなたは長さ1の文字列で終わるでしょう、その単一の文字は(ASCII)コード65を持ちます。Javaでは文字は数値データ型です。

4
Paul Cager

このようにaからzまで繰り返すことができます

int asciiForLowerA = 97;
int asciiForLowerZ = 122;
for(int asciiCode = asciiForLowerA; asciiCode <= asciiForLowerZ; asciiCode++){
    search(sCurrentLine, searchKey + Character.toString ((char) asciiCode));
}
1
Tez Kurmala
    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);
0

同じことをするより簡単な方法:

整数を文字にキャストし、int nを整数にします。

Char c=(char)n;
System.out.print(c)//char c will store the converted value.
0
Entriple Aardee

アスキー文字を返すメソッドに単純化してみませんか?

public char toAscii (int input) {
    return (char)input;
}
0
Raphael Spoerri