r - 概述 R 中的特殊字符
问题描述
是否概述了 R 中每个可能的特殊 unicode 字符?例如,“\U2264”是减号/等号。我想要一个可以用 R 编写的所有可能代码的列表。我知道我可以在这里使用 webscraping http://www.fileformat.info/info/charset/UTF-8/list.htm但我更喜欢一个列表是专门为 R 制作的。我已经使用了一点网页抓取,可以看到一些字符在 R 中不存在。
Characters <- "http://www.fileformat.info/info/charset/UTF-8/list.htm" %>%
read_html %>%
html_nodes("td.text-center:nth-child(1)") %>%
html_text
解决方案
您可以捕获 R 的打印输出并检查其长度。如果它不是 1,那么 R 显示的是文字字符代码,而不是按原样打印。
例如:'\U2264' --> '≤'
例如:'\U0083' --> '\U0083'
这段代码允许您设置要检查的范围并返回一个数据框,指示该范围内的每个字符,无论它是否可打印。
start.code <- 0x2260
end.code <- 0x2300
result <- data.frame(
code = sprintf("%04X", start.code : end.code),
printable = sapply(start.code:end.code, function(x) nchar(capture.output(cat(intToUtf8(x)))) == 1)
)
输出
code printable
1 2260 FALSE
2 2261 TRUE
3 2262 FALSE
4 2263 FALSE
5 2264 TRUE
6 2265 TRUE
7 2266 FALSE
8 2267 FALSE
9 2268 FALSE
10 2269 FALSE
11 226A TRUE
12 226B TRUE
13 226C FALSE
14 226D FALSE
15 226E FALSE
16 226F FALSE
17 2270 FALSE
18 2271 FALSE
19 2272 FALSE
20 2273 FALSE
21 2274 FALSE
22 2275 FALSE
23 2276 FALSE
24 2277 FALSE
25 2278 FALSE
26 2279 FALSE
27 227A FALSE
28 227B FALSE
29 227C FALSE
30 227D FALSE
31 227E FALSE
32 227F FALSE
33 2280 FALSE
34 2281 FALSE
35 2282 FALSE
36 2283 FALSE
37 2284 FALSE
38 2285 FALSE
39 2286 FALSE
40 2287 FALSE
41 2288 FALSE
42 2289 FALSE
43 228A FALSE
44 228B FALSE
45 228C FALSE
46 228D FALSE
47 228E FALSE
48 228F FALSE
49 2290 FALSE
50 2291 FALSE
51 2292 FALSE
52 2293 FALSE
53 2294 FALSE
54 2295 FALSE
55 2296 FALSE
56 2297 FALSE
57 2298 FALSE
58 2299 FALSE
59 229A FALSE
60 229B FALSE
61 229C FALSE
62 229D FALSE
63 229E FALSE
64 229F FALSE
65 22A0 FALSE
66 22A1 FALSE
67 22A2 FALSE
68 22A3 FALSE
69 22A4 FALSE
70 22A5 FALSE
71 22A6 FALSE
72 22A7 FALSE
73 22A8 FALSE
74 22A9 FALSE
75 22AA FALSE
76 22AB FALSE
77 22AC FALSE
78 22AD FALSE
79 22AE FALSE
80 22AF FALSE
81 22B0 FALSE
82 22B1 FALSE
83 22B2 FALSE
84 22B3 FALSE
85 22B4 FALSE
86 22B5 FALSE
87 22B6 FALSE
88 22B7 FALSE
89 22B8 FALSE
90 22B9 FALSE
91 22BA FALSE
92 22BB FALSE
93 22BC FALSE
94 22BD FALSE
95 22BE FALSE
96 22BF FALSE
97 22C0 FALSE
98 22C1 FALSE
99 22C2 FALSE
100 22C3 FALSE
101 22C4 FALSE
102 22C5 TRUE
103 22C6 FALSE
104 22C7 FALSE
105 22C8 FALSE
106 22C9 FALSE
107 22CA FALSE
108 22CB FALSE
109 22CC FALSE
110 22CD FALSE
111 22CE FALSE
112 22CF FALSE
113 22D0 FALSE
114 22D1 FALSE
115 22D2 FALSE
116 22D3 FALSE
117 22D4 FALSE
118 22D5 FALSE
119 22D6 FALSE
120 22D7 FALSE
121 22D8 FALSE
122 22D9 FALSE
123 22DA FALSE
124 22DB FALSE
125 22DC FALSE
126 22DD FALSE
127 22DE FALSE
128 22DF FALSE
129 22E0 FALSE
130 22E1 FALSE
131 22E2 FALSE
132 22E3 FALSE
133 22E4 FALSE
134 22E5 FALSE
135 22E6 FALSE
136 22E7 FALSE
137 22E8 FALSE
138 22E9 FALSE
139 22EA FALSE
140 22EB FALSE
141 22EC FALSE
142 22ED FALSE
143 22EE FALSE
144 22EF FALSE
145 22F0 FALSE
146 22F1 FALSE
147 22F2 FALSE
148 22F3 FALSE
149 22F4 FALSE
150 22F5 FALSE
151 22F6 FALSE
152 22F7 FALSE
153 22F8 FALSE
154 22F9 FALSE
155 22FA FALSE
156 22FB FALSE
157 22FC FALSE
158 22FD FALSE
159 22FE FALSE
160 22FF FALSE
161 2300 FALSE
推荐阅读
- bash - 从给定文件夹开始打印文件名及其出现次数的脚本
- java - 使用 appium 从任何 android 设备的通知栏中清除所有通知
- android - 如何共享带有标题的 pdf [不应显示 UNTITLED]
- java-8 - Jasperserver 6.3.0 (Tomcat 8.0.14) startup.bat:无法识别的选项:--JvmMs
- java - 从 Spring 3 升级到 Spring 5 - 现在自动装配错误
- java - 如何让 setTextSize 在 Android 8.0 上工作?
- javascript - 使用 Antd 上传操作将图像上传到 Firebase 存储时出现问题
- javascript - 将 javascript 函数变量的值存储到 php 变量中,无需 POST 表单
- r - 连接两个箱线图以显示 ggplot2 中的重要性
- angular - 当 api 调用在角度 2 中失败时如何捕获错误