Skip to content

Instantly share code, notes, and snippets.

@batpigandme
Last active February 28, 2019 14:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save batpigandme/fb6bf75a0158b1f3bdda8530d0cb35ac to your computer and use it in GitHub Desktop.
Save batpigandme/fb6bf75a0158b1f3bdda8530d0cb35ac to your computer and use it in GitHub Desktop.
library(tidyverse)
library(janitor)
library(rvest)
url <- "https://www.utf8-chartable.de/unicode-utf8-table.pl?utf8=bin"
utf8_enc <- url %>%
read_html() %>%
html_nodes(css = 'body > table.codetable') %>%
html_table()
utf8_enc_tab <- utf8_enc[[1]]
utf8_enc_tab <- as_tibble(utf8_enc_tab) %>%
janitor::clean_names()
readr::write_csv(utf8_enc_tab, path = here::here("Desktop", "utf8_enc_tab.csv"))
## split string by character
x <- "abc"
characters <- strsplit(x, "")[[1]]
char_frame <- tibble(chars = characters)
char_frame <- char_frame %>%
mutate(bits = pryr::bits(chars)) %>%
left_join(utf8_enc_tab, by = c("chars" = "character"))
char_frame
unicodecode_point character utf_8_bin name
U+0000 00000000 <control>
U+0001 00000001 <control>
U+0002 00000010 <control>
U+0003 00000011 <control>
U+0004 00000100 <control>
U+0005 00000101 <control>
U+0006 00000110 <control>
U+0007 00000111 <control>
U+0008 00001000 <control>
U+0009 00001001 <control>
U+000A 00001010 <control>
U+000B 00001011 <control>
U+000C 00001100 <control>
U+000D 00001101 <control>
U+000E 00001110 <control>
U+000F 00001111 <control>
U+0010 00010000 <control>
U+0011 00010001 <control>
U+0012 00010010 <control>
U+0013 00010011 <control>
U+0014 00010100 <control>
U+0015 00010101 <control>
U+0016 00010110 <control>
U+0017 00010111 <control>
U+0018 00011000 <control>
U+0019 00011001 <control>
U+001A 00011010 <control>
U+001B 00011011 <control>
U+001C 00011100 <control>
U+001D 00011101 <control>
U+001E 00011110 <control>
U+001F 00011111 <control>
U+0020 00100000 SPACE
U+0021 ! 00100001 EXCLAMATION MARK
U+0022 " 00100010 QUOTATION MARK
U+0023 # 00100011 NUMBER SIGN
U+0024 $ 00100100 DOLLAR SIGN
U+0025 % 00100101 PERCENT SIGN
U+0026 & 00100110 AMPERSAND
U+0027 ' 00100111 APOSTROPHE
U+0028 ( 00101000 LEFT PARENTHESIS
U+0029 ) 00101001 RIGHT PARENTHESIS
U+002A * 00101010 ASTERISK
U+002B + 00101011 PLUS SIGN
U+002C , 00101100 COMMA
U+002D - 00101101 HYPHEN-MINUS
U+002E . 00101110 FULL STOP
U+002F / 00101111 SOLIDUS
U+0030 0 00110000 DIGIT ZERO
U+0031 1 00110001 DIGIT ONE
U+0032 2 00110010 DIGIT TWO
U+0033 3 00110011 DIGIT THREE
U+0034 4 00110100 DIGIT FOUR
U+0035 5 00110101 DIGIT FIVE
U+0036 6 00110110 DIGIT SIX
U+0037 7 00110111 DIGIT SEVEN
U+0038 8 00111000 DIGIT EIGHT
U+0039 9 00111001 DIGIT NINE
U+003A : 00111010 COLON
U+003B ; 00111011 SEMICOLON
U+003C < 00111100 LESS-THAN SIGN
U+003D = 00111101 EQUALS SIGN
U+003E > 00111110 GREATER-THAN SIGN
U+003F ? 00111111 QUESTION MARK
U+0040 @ 01000000 COMMERCIAL AT
U+0041 A 01000001 LATIN CAPITAL LETTER A
U+0042 B 01000010 LATIN CAPITAL LETTER B
U+0043 C 01000011 LATIN CAPITAL LETTER C
U+0044 D 01000100 LATIN CAPITAL LETTER D
U+0045 E 01000101 LATIN CAPITAL LETTER E
U+0046 F 01000110 LATIN CAPITAL LETTER F
U+0047 G 01000111 LATIN CAPITAL LETTER G
U+0048 H 01001000 LATIN CAPITAL LETTER H
U+0049 I 01001001 LATIN CAPITAL LETTER I
U+004A J 01001010 LATIN CAPITAL LETTER J
U+004B K 01001011 LATIN CAPITAL LETTER K
U+004C L 01001100 LATIN CAPITAL LETTER L
U+004D M 01001101 LATIN CAPITAL LETTER M
U+004E N 01001110 LATIN CAPITAL LETTER N
U+004F O 01001111 LATIN CAPITAL LETTER O
U+0050 P 01010000 LATIN CAPITAL LETTER P
U+0051 Q 01010001 LATIN CAPITAL LETTER Q
U+0052 R 01010010 LATIN CAPITAL LETTER R
U+0053 S 01010011 LATIN CAPITAL LETTER S
U+0054 T 01010100 LATIN CAPITAL LETTER T
U+0055 U 01010101 LATIN CAPITAL LETTER U
U+0056 V 01010110 LATIN CAPITAL LETTER V
U+0057 W 01010111 LATIN CAPITAL LETTER W
U+0058 X 01011000 LATIN CAPITAL LETTER X
U+0059 Y 01011001 LATIN CAPITAL LETTER Y
U+005A Z 01011010 LATIN CAPITAL LETTER Z
U+005B [ 01011011 LEFT SQUARE BRACKET
U+005C \ 01011100 REVERSE SOLIDUS
U+005D ] 01011101 RIGHT SQUARE BRACKET
U+005E ^ 01011110 CIRCUMFLEX ACCENT
U+005F _ 01011111 LOW LINE
U+0060 ` 01100000 GRAVE ACCENT
U+0061 a 01100001 LATIN SMALL LETTER A
U+0062 b 01100010 LATIN SMALL LETTER B
U+0063 c 01100011 LATIN SMALL LETTER C
U+0064 d 01100100 LATIN SMALL LETTER D
U+0065 e 01100101 LATIN SMALL LETTER E
U+0066 f 01100110 LATIN SMALL LETTER F
U+0067 g 01100111 LATIN SMALL LETTER G
U+0068 h 01101000 LATIN SMALL LETTER H
U+0069 i 01101001 LATIN SMALL LETTER I
U+006A j 01101010 LATIN SMALL LETTER J
U+006B k 01101011 LATIN SMALL LETTER K
U+006C l 01101100 LATIN SMALL LETTER L
U+006D m 01101101 LATIN SMALL LETTER M
U+006E n 01101110 LATIN SMALL LETTER N
U+006F o 01101111 LATIN SMALL LETTER O
U+0070 p 01110000 LATIN SMALL LETTER P
U+0071 q 01110001 LATIN SMALL LETTER Q
U+0072 r 01110010 LATIN SMALL LETTER R
U+0073 s 01110011 LATIN SMALL LETTER S
U+0074 t 01110100 LATIN SMALL LETTER T
U+0075 u 01110101 LATIN SMALL LETTER U
U+0076 v 01110110 LATIN SMALL LETTER V
U+0077 w 01110111 LATIN SMALL LETTER W
U+0078 x 01111000 LATIN SMALL LETTER X
U+0079 y 01111001 LATIN SMALL LETTER Y
U+007A z 01111010 LATIN SMALL LETTER Z
U+007B { 01111011 LEFT CURLY BRACKET
U+007C | 01111100 VERTICAL LINE
U+007D } 01111101 RIGHT CURLY BRACKET
U+007E ~ 01111110 TILDE
U+007F 01111111 <control>
U+0080 11000010 10000000 <control>
U+0081 11000010 10000001 <control>
U+0082 11000010 10000010 <control>
U+0083 11000010 10000011 <control>
U+0084 11000010 10000100 <control>
U+0085 11000010 10000101 <control>
U+0086 11000010 10000110 <control>
U+0087 11000010 10000111 <control>
U+0088 11000010 10001000 <control>
U+0089 11000010 10001001 <control>
U+008A 11000010 10001010 <control>
U+008B 11000010 10001011 <control>
U+008C 11000010 10001100 <control>
U+008D 11000010 10001101 <control>
U+008E 11000010 10001110 <control>
U+008F 11000010 10001111 <control>
U+0090 11000010 10010000 <control>
U+0091 11000010 10010001 <control>
U+0092 11000010 10010010 <control>
U+0093 11000010 10010011 <control>
U+0094 11000010 10010100 <control>
U+0095 11000010 10010101 <control>
U+0096 11000010 10010110 <control>
U+0097 11000010 10010111 <control>
U+0098 11000010 10011000 <control>
U+0099 11000010 10011001 <control>
U+009A 11000010 10011010 <control>
U+009B 11000010 10011011 <control>
U+009C 11000010 10011100 <control>
U+009D 11000010 10011101 <control>
U+009E 11000010 10011110 <control>
U+009F 11000010 10011111 <control>
U+00A0 11000010 10100000 NO-BREAK SPACE
U+00A1 ¡ 11000010 10100001 INVERTED EXCLAMATION MARK
U+00A2 ¢ 11000010 10100010 CENT SIGN
U+00A3 £ 11000010 10100011 POUND SIGN
U+00A4 ¤ 11000010 10100100 CURRENCY SIGN
U+00A5 ¥ 11000010 10100101 YEN SIGN
U+00A6 ¦ 11000010 10100110 BROKEN BAR
U+00A7 § 11000010 10100111 SECTION SIGN
U+00A8 ¨ 11000010 10101000 DIAERESIS
U+00A9 © 11000010 10101001 COPYRIGHT SIGN
U+00AA ª 11000010 10101010 FEMININE ORDINAL INDICATOR
U+00AB « 11000010 10101011 LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
U+00AC ¬ 11000010 10101100 NOT SIGN
U+00AD ­ 11000010 10101101 SOFT HYPHEN
U+00AE ® 11000010 10101110 REGISTERED SIGN
U+00AF ¯ 11000010 10101111 MACRON
U+00B0 ° 11000010 10110000 DEGREE SIGN
U+00B1 ± 11000010 10110001 PLUS-MINUS SIGN
U+00B2 ² 11000010 10110010 SUPERSCRIPT TWO
U+00B3 ³ 11000010 10110011 SUPERSCRIPT THREE
U+00B4 ´ 11000010 10110100 ACUTE ACCENT
U+00B5 µ 11000010 10110101 MICRO SIGN
U+00B6 11000010 10110110 PILCROW SIGN
U+00B7 · 11000010 10110111 MIDDLE DOT
U+00B8 ¸ 11000010 10111000 CEDILLA
U+00B9 ¹ 11000010 10111001 SUPERSCRIPT ONE
U+00BA º 11000010 10111010 MASCULINE ORDINAL INDICATOR
U+00BB » 11000010 10111011 RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
U+00BC ¼ 11000010 10111100 VULGAR FRACTION ONE QUARTER
U+00BD ½ 11000010 10111101 VULGAR FRACTION ONE HALF
U+00BE ¾ 11000010 10111110 VULGAR FRACTION THREE QUARTERS
U+00BF ¿ 11000010 10111111 INVERTED QUESTION MARK
U+00C0 À 11000011 10000000 LATIN CAPITAL LETTER A WITH GRAVE
U+00C1 Á 11000011 10000001 LATIN CAPITAL LETTER A WITH ACUTE
U+00C2 Â 11000011 10000010 LATIN CAPITAL LETTER A WITH CIRCUMFLEX
U+00C3 Ã 11000011 10000011 LATIN CAPITAL LETTER A WITH TILDE
U+00C4 Ä 11000011 10000100 LATIN CAPITAL LETTER A WITH DIAERESIS
U+00C5 Å 11000011 10000101 LATIN CAPITAL LETTER A WITH RING ABOVE
U+00C6 Æ 11000011 10000110 LATIN CAPITAL LETTER AE
U+00C7 Ç 11000011 10000111 LATIN CAPITAL LETTER C WITH CEDILLA
U+00C8 È 11000011 10001000 LATIN CAPITAL LETTER E WITH GRAVE
U+00C9 É 11000011 10001001 LATIN CAPITAL LETTER E WITH ACUTE
U+00CA Ê 11000011 10001010 LATIN CAPITAL LETTER E WITH CIRCUMFLEX
U+00CB Ë 11000011 10001011 LATIN CAPITAL LETTER E WITH DIAERESIS
U+00CC Ì 11000011 10001100 LATIN CAPITAL LETTER I WITH GRAVE
U+00CD Í 11000011 10001101 LATIN CAPITAL LETTER I WITH ACUTE
U+00CE Î 11000011 10001110 LATIN CAPITAL LETTER I WITH CIRCUMFLEX
U+00CF Ï 11000011 10001111 LATIN CAPITAL LETTER I WITH DIAERESIS
U+00D0 Ð 11000011 10010000 LATIN CAPITAL LETTER ETH
U+00D1 Ñ 11000011 10010001 LATIN CAPITAL LETTER N WITH TILDE
U+00D2 Ò 11000011 10010010 LATIN CAPITAL LETTER O WITH GRAVE
U+00D3 Ó 11000011 10010011 LATIN CAPITAL LETTER O WITH ACUTE
U+00D4 Ô 11000011 10010100 LATIN CAPITAL LETTER O WITH CIRCUMFLEX
U+00D5 Õ 11000011 10010101 LATIN CAPITAL LETTER O WITH TILDE
U+00D6 Ö 11000011 10010110 LATIN CAPITAL LETTER O WITH DIAERESIS
U+00D7 × 11000011 10010111 MULTIPLICATION SIGN
U+00D8 Ø 11000011 10011000 LATIN CAPITAL LETTER O WITH STROKE
U+00D9 Ù 11000011 10011001 LATIN CAPITAL LETTER U WITH GRAVE
U+00DA Ú 11000011 10011010 LATIN CAPITAL LETTER U WITH ACUTE
U+00DB Û 11000011 10011011 LATIN CAPITAL LETTER U WITH CIRCUMFLEX
U+00DC Ü 11000011 10011100 LATIN CAPITAL LETTER U WITH DIAERESIS
U+00DD Ý 11000011 10011101 LATIN CAPITAL LETTER Y WITH ACUTE
U+00DE Þ 11000011 10011110 LATIN CAPITAL LETTER THORN
U+00DF ß 11000011 10011111 LATIN SMALL LETTER SHARP S
U+00E0 à 11000011 10100000 LATIN SMALL LETTER A WITH GRAVE
U+00E1 á 11000011 10100001 LATIN SMALL LETTER A WITH ACUTE
U+00E2 â 11000011 10100010 LATIN SMALL LETTER A WITH CIRCUMFLEX
U+00E3 ã 11000011 10100011 LATIN SMALL LETTER A WITH TILDE
U+00E4 ä 11000011 10100100 LATIN SMALL LETTER A WITH DIAERESIS
U+00E5 å 11000011 10100101 LATIN SMALL LETTER A WITH RING ABOVE
U+00E6 æ 11000011 10100110 LATIN SMALL LETTER AE
U+00E7 ç 11000011 10100111 LATIN SMALL LETTER C WITH CEDILLA
U+00E8 è 11000011 10101000 LATIN SMALL LETTER E WITH GRAVE
U+00E9 é 11000011 10101001 LATIN SMALL LETTER E WITH ACUTE
U+00EA ê 11000011 10101010 LATIN SMALL LETTER E WITH CIRCUMFLEX
U+00EB ë 11000011 10101011 LATIN SMALL LETTER E WITH DIAERESIS
U+00EC ì 11000011 10101100 LATIN SMALL LETTER I WITH GRAVE
U+00ED í 11000011 10101101 LATIN SMALL LETTER I WITH ACUTE
U+00EE î 11000011 10101110 LATIN SMALL LETTER I WITH CIRCUMFLEX
U+00EF ï 11000011 10101111 LATIN SMALL LETTER I WITH DIAERESIS
U+00F0 ð 11000011 10110000 LATIN SMALL LETTER ETH
U+00F1 ñ 11000011 10110001 LATIN SMALL LETTER N WITH TILDE
U+00F2 ò 11000011 10110010 LATIN SMALL LETTER O WITH GRAVE
U+00F3 ó 11000011 10110011 LATIN SMALL LETTER O WITH ACUTE
U+00F4 ô 11000011 10110100 LATIN SMALL LETTER O WITH CIRCUMFLEX
U+00F5 õ 11000011 10110101 LATIN SMALL LETTER O WITH TILDE
U+00F6 ö 11000011 10110110 LATIN SMALL LETTER O WITH DIAERESIS
U+00F7 ÷ 11000011 10110111 DIVISION SIGN
U+00F8 ø 11000011 10111000 LATIN SMALL LETTER O WITH STROKE
U+00F9 ù 11000011 10111001 LATIN SMALL LETTER U WITH GRAVE
U+00FA ú 11000011 10111010 LATIN SMALL LETTER U WITH ACUTE
U+00FB û 11000011 10111011 LATIN SMALL LETTER U WITH CIRCUMFLEX
U+00FC ü 11000011 10111100 LATIN SMALL LETTER U WITH DIAERESIS
U+00FD ý 11000011 10111101 LATIN SMALL LETTER Y WITH ACUTE
U+00FE þ 11000011 10111110 LATIN SMALL LETTER THORN
U+00FF ÿ 11000011 10111111 LATIN SMALL LETTER Y WITH DIAERESIS
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment