如何知道表情符号的 ASCII / UTF 码?

How to know ASCII / UTF code of emojis?

我需要获取在 Android 应用程序中输入 EditText 的表情符号代码。 我试过了,但它 总是 returns 我的所有表情符号的 ASCII 值 55356 和 55357

    end   = (TextView) findViewById(R.id.txtFinal);
    botom = (Button) findViewById(R.id.btn);
    intro = (EditText)findViewById(R.id.txtIntro);

    botom.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String t = intro.getText().toString();
            if (t != null && t != ""){
                char c = t.charAt(0);
                end.setText((int)c+"");
            }
        }
    });

我可以将它们转换为 UTF 格式吗?如果是这样,如何? 或者还有其他专门针对表情符号的编码?

您可以使用 t.getBytes("UTF8") 更改编码。 Here 是关于 getBytes 方法的更多信息。

忘了 ASCII。如果您只是认为您在使用 ASCII,那么您几乎可以肯定不是。

charAt 没有 return ASCII 值。它 return 是一个 UTF-16 代码单元,其中一个或两个编码一个 Unicode 代码点。

不清楚你想用表情符号做什么。似乎您将它从整个字符串中拆分出来,并假设它是字符串中的第一个文本元素。也许那只是测试代码。

您可以采用 UTF-16 代码单元,直到您拥有一个完整的字符。那是一两个代码单元。 Character class 有一个方法:codePointAt(CharSequence seq, int index)。根据您要完成的任务,您还可以使用其他方法。 class 描述很好读。