にテキストスマイリーのUnicodeを見つけるか;)、私はこれらの文字のUnicodeを取得したい:)、私はユニコードの見つけることができますどのように)どのように私はこんにちは:)のような文字列を持っていますアンドロイド
これらの文字。
ここに誰かが考えている場合は、コードを投稿してください。
ありがとうございました。
にテキストスマイリーのUnicodeを見つけるか;)、私はこれらの文字のUnicodeを取得したい:)、私はユニコードの見つけることができますどのように)どのように私はこんにちは:)のような文字列を持っていますアンドロイド
これらの文字。
ここに誰かが考えている場合は、コードを投稿してください。
ありがとうございました。
は、変換する:) HashMapを作成して、スマイリーコードを移入するだろうし、この
private static String escapeNonAscii(String str) {
StringBuilder mStr = new StringBuilder();
for(int i=0; i<str.length(); i++) {
int cp = Character.codePointAt(str, i);
int charCount = Character.charCount(cp);
if (charCount > 1) {
i += charCount - 1; // 2.
if (i >= str.length()) {
throw new IllegalArgumentException("truncated unexpectedly");
}
}
if (cp < 128) {
mStr .appendCodePoint(cp);
} else {
mStr .append(String.format("\\u%x", cp));
}
}
return mStr.toString();
}
この関数を文字列:)または;を渡して呼び出すと、同じ文字列が返されます。私はこれらの文字列のユニコードを見つけることができません。 –
一つの方法を試してみてください。次に、キーのすべての値をそれぞれの値に置き換えるだけです。例:
HashMap<String, String> map = new HashMap<String, String>();
map.put(":\\)", "\uD83D\uDE42");//don't forget to escape the parenthesis character in :)
map.put(":\\(", "\uD83D\uDE41");
map.put(":D", "\uD83D\uDE00");
...
String s = "Hello World :)";
Set<String> set = map.keySet();
for (String s1 : set) {
s = s.replaceAll(s1, map.get(s1));
}
ここにはUnicode emoticonsのリストがあります。
スマイリーテキストをマップに保存したくないので、それを動的にチェックしてからUnicodeで変更したいと思っています。どうすればいいのですか、誰かがそれをやる方法を知っていれば、サンプルコードを投稿してください。 –
':'と ')'は別々のユニコード文字で、1つのユニコード文字ですか?これは 'ab'を 'c'に置き換えることと変わりありません。さらに、異なる文字の出現を置き換えたいので、実際にはそのためのルックアップテーブルが必要です。そうでない場合は非常に長いチェーンです。もちろん、あなたのためにそれを行うライブラリを探すことができますが、ライブラリ自体は、文字を置き換えるために同様の何かを使用します。 –
さて、テキストスマイリーをハッシュマップに追加するには、テキストをスマイリーに追加して、ハッシュマップにユニコードを追加してみてください。 しかし、どのようにテキストのスマイリーの対応するユニコードを見つけることができます。 例:これは知っています:)テキストスマイリーユニコードは "\ uD83D \ uDE42" 他のテキストスマイリーに対応するユニコードはどのようにして見つけられますか? –
変換しようとしています:)またはあなたは:)と;)のためのUnicode対応を求めていますか? –
はい、私はユニコードに変換したいので、私はそれらを絵文字で変換できます。 –