如何知道表情符号的 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 描述很好读。
我需要获取在 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 描述很好读。