此answer包含一些代码,可将语言环境转换为Java中的国家表情符号。我尝试在Dart中实现它,但没有成功。
我尝试将上面的代码转换为Dart
void _emoji() {
int flagOffset = 0x1F1E6;
int asciiOffset = 0x41;
String country = "US";
int firstChar = country.codeUnitAt(0) - asciiOffset + flagOffset;
int secondChar = country.codeUnitAt(1) - asciiOffset + flagOffset;
String emoji =
String.fromCharCode(firstChar) + String.fromCharCode(secondChar);
print(emoji);
}
“美国”语言环境应输出“??”
答案 0 :(得分:1)
您发布的代码可以正常工作,即print(emoji)
成功打印了??。
我认为您真正的问题是Flutter Text
widget像这样显示它:
这是美国国旗,但是,我必须同意,当您在设备上看到它时,它看起来并不像它,因为它的字体很小,并且该国旗具有相当高的分辨率。
您需要使用以下命令use a custom font并将其应用于您的Text
小部件:
Text(emoji,
style: TextStyle(
fontFamily: '...',
),
)
否则,转换和显示标志都可以正常工作。我相信它们看起来与您预期的有所不同。