maelvls dev blog

maelvls dev blog

Systems software engineer. I write mostly about Kubernetes and Go. About

27 Apr2020

Unicode

I take a look at “whatisit":

⚠️
U+26A0 : WARNING SIGN
U+FE0F : VARIATION SELECTOR-16 [VS16] {emoji variation selector}

But even better: runes is CLI for exploring these emojis! Let’s install it:

go get github.com/mna/runes

Now, let’s see with an emoji that I know displays correctly in my terminal (iTerm2):

% runes - ✅
[S So] U+2705 '✅'    [E2 9C 85]    [2705]      WHITE HEAVY CHECK MARK
[C Cc] U+0000         [00]          [0]         <control>
[C Cc] U+0000         [00]          [0]         <control>

Now, let’s try with my multi-UTF-8 example “⚠️”:

% runes - ⚠<fe0f>
[S So] U+26A0 '⚠'     [E2 9A A0]    [26A0]      WARNING SIGN
[C Cc] U+0000         [00]          [0]         <control>
[C Cc] U+0000         [00]          [0]         <control>
[M Mn] U+FE0F '️'     [EF B8 8F]    [FE0F]      VARIATION SELECTOR-16
[C Cc] U+0000         [00]          [0]         <control>
[C Cc] U+0000         [00]          [0]         <control>

My terminal (iTerm2) doesn’t even allow me to paste “⚠️”?! It shows ⚠<fe0f> instead.

📝 Edit this page