地区指示符
26个字符(U+1F1E6–U+1F1FF,🇦–🇿),按照ISO 3166-1国家代码成对组合形成国旗表情符号,🇺+🇸 = 🇺🇸。
What is a Regional Indicator Symbol?
Regional Indicator Symbols are a set of 26 Unicode characters — one for each letter of the Latin alphabet — that, when combined in pairs, form emoji representations of national flags. They occupy the code point range U+1F1E6 (REGIONAL INDICATOR SYMBOL LETTER A) through U+1F1FF (REGIONAL INDICATOR SYMBOL LETTER Z).
A single regional indicator character has no defined appearance of its own — it is not meant to be displayed individually. When two regional indicator characters appear consecutively and their combined two-letter code matches an ISO 3166-1 alpha-2 country code, emoji-aware rendering engines display the corresponding national flag emoji.
For example: 🇺 (U+1F1FA) + 🇸 (U+1F1F8) = 🇺🇸 (United States flag), because "US" is the ISO 3166-1 alpha-2 code for the United States.
ISO 3166-1 Alpha-2 Codes
The flag display system is anchored to ISO 3166-1 alpha-2 — the international standard for two-letter country codes maintained by the International Organization for Standardization. Every internationally recognized country and many territories have a two-letter code. The Unicode emoji flag system supports all codes in this standard:
- 🇯🇵 JP → Japan
- 🇩🇪 DE → Germany
- 🇧🇷 BR → Brazil
- 🇰🇷 KR → South Korea
- 🇨🇳 CN → China
- 🇬🇧 GB → United Kingdom
Regional and subdivision flags (like the Scottish flag 🏴) are handled differently — via TAG SEQUENCES using characters U+E0020–U+E007E — not regional indicators.
Why Regional Indicators Instead of Separate Flag Code Points?
The design decision to encode flags as regional indicator pairs rather than individual code points was deliberate and politically motivated. Assigning a dedicated code point to a country flag would require Unicode to make sovereign recognition decisions — to decide which entities are countries and which are not. This would embroil the Unicode Consortium in geopolitical disputes.
By encoding flags as ISO 3166-1 pairs, Unicode delegates the political decision to ISO and to rendering platforms. If a platform does not want to display a particular flag, it can simply decline to render that two-letter sequence as a flag image without violating the Unicode Standard.
Platform Behavior Differences
Regional indicator pairs that do not correspond to a recognized or politically uncontroversial flag are handled inconsistently across platforms:
- Some platforms (Apple, Google) display a generic "flag" icon with the two letters for unrecognized or sensitive codes
- Microsoft Windows historically did not support flag emoji at all in its system emoji font, displaying the two regional indicator letters as text instead
- Some platforms support certain contested flags (Taiwan 🇹🇼, Kosovo 🇽🇰) and not others
This makes flag emoji the most platform-variable category of emoji in terms of actual rendering.
String Processing
A regional indicator pair forms a single grapheme cluster — a user-perceived character. Pressing backspace on 🇺🇸 should delete both regional indicator characters as a unit, not just the trailing 🇸. Programming environments that process emoji strings need grapheme-cluster-aware string handling to correctly manage flag emoji.
In terms of Unicode properties: regional indicator characters have the Regional_Indicator property set to Yes. The Unicode grapheme cluster algorithm uses this property to pair consecutive regional indicators into a single cluster.
Quick Facts
| Property | Value |
|---|---|
| Code point range | U+1F1E6 – U+1F1FF |
| Count | 26 characters (A–Z) |
| Pairing standard | ISO 3166-1 alpha-2 country codes |
| Visual form alone | Undefined — not meant for individual display |
| Introduced | Unicode 6.0, October 2010 |
| Subdivision flags | Separate TAG SEQUENCE system (U+E0020–U+E007F) |
| Grapheme cluster | Two regional indicators = one cluster |
| Platform variation | Highest of any emoji category |
相关术语
表情符号 中的更多内容
起源于日本手机的图形Unicode字符,现有3,790多个表情符号分布在多个区块(表情、杂项符号与象形文字、交通等)。
Multi-character emoji constructed by combining base emoji with modifiers, ZWJ characters, or …
Five Fitzpatrick scale modifiers (U+1F3FB–U+1F3FF, 🏻–🏿) that change human emoji skin color. …
由多个表情符号通过零宽连接符(U+200D)组合而成的表情符号,👨👩👧👦 = 男人+ZWJ+女人+ZWJ+女孩+ZWJ+男孩,目前定义了约600个ZWJ序列。
紧跟在人形表情符号后面以改变肤色的菲茨帕特里克色度修饰符(U+1F3FB–U+1F3FF)。