JavaScriptでは、.charCodeAt()
は、関数に渡す文字列の特定のポイントでUnicode値を返します。文字が1つしかない場合は、以下のコードを使用してJavaでUnicode値を取得できます。
_public int charCodeAt(char c) {
int x;
return x = (int) c;
}
_
Javaで文字列を使用している場合、JavaScriptの.charCodeAt()
関数のように、文字列内の1つの個々の文字のUnicode値を取得するにはどうすればよいですか?
Javaにも同じメソッドがあります: Character.codePointAt(CharSequence seq、int index);
String str = "Hello World";
int codePointAt0 = Character.codePointAt(str, 0);
これを試して:
public int charCodeAt(String string, int index) {
return (int) string.charAt(index);
}
必要な特殊文字をフィルタリングする方法があります。 [〜#〜] ascii [〜#〜] テーブルを確認してください
それが役に立てば幸い
public class main {
public static void main(String args[]) {
String str = args[0];
String bstr = "";
String[] codePointAt = new String[str.length()];
if (str != "")
{
for (int j = 0; j < str.length(); j++)
{
int charactercode=Character.codePointAt(str, j);
//CHECK on ASCII TABLE THE SPECIAL CHARS YOU NEED
if( (charactercode>31 && charactercode<48) ||
(charactercode>57 && charactercode<65) ||
(charactercode>90 && charactercode<97) ||
(charactercode>127)
)
{
codePointAt[ j] ="&"+String.valueOf(charactercode)+";";
}
else
{
codePointAt[ j] = String.valueOf( str.charAt(j) );
}
}
for (int j = 0; j < codePointAt.length; j++)
{
System.out.println("CODE "+j+" ->"+ codePointAt[j]);
}
}
}
}
[〜#〜]出力[〜#〜]
call with ("TRY./&asda")
CODE 0 ->T
CODE 1 ->R
CODE 2 ->Y
CODE 3 ->&46;
CODE 4 ->&47;
CODE 5 ->&38;
CODE 6 ->a
CODE 7 ->s
CODE 8 ->d
CODE 9 ->a