Ascii code table in R

March 8, 2011
By

(This article was first published on DataDebrief, and kindly contributed to R-bloggers)

A quick method to enumerate the printable ascii characters with their hex & decimal values.

The following code relies on taking the “raw” value of a base 10 int (this gives a hex value), and then using the builtin function rawToChar, which gives a character. You can of course change the range (up to 255). Not sure and haven’t tested, but for UTF-8, may need ?Encoding (such as enc2utf8(x))

To use as a function that can accept an ascii character and return the decimal value, something like this:

asc <- function(x) { strtoi(charToRaw(x),16L) }

asc("a")
[1] 97

To use as a function to return the ascii character given it’s decimal code value, try something like this:

chr <- function(n) { rawToChar(as.raw(n)) }

chr(asc("a")) # 97
[1] "a"

To print the ascii table (for 32:126), try something like this:

coderange = c(32:126)
asciitable_printable = data.frame(
coderange,
as.raw(coderange),
row.names=rawToChar(as.raw(coderange),multiple=TRUE)
)

colnames(asciitable_printable) <- c("dec","hex")
asciitable_printable

Results

    dec hex
32 20
! 33 21
" 34 22
# 35 23
$ 36 24
% 37 25
& 38 26
' 39 27
( 40 28
) 41 29
* 42 2a
+ 43 2b
, 44 2c
- 45 2d
. 46 2e
/ 47 2f
0 48 30
1 49 31
2 50 32
3 51 33
4 52 34
5 53 35
6 54 36
7 55 37
8 56 38
9 57 39
: 58 3a
; 59 3b
< 60 3c
= 61 3d
> 62 3e
? 63 3f
@ 64 40
A 65 41
B 66 42
C 67 43
D 68 44
E 69 45
F 70 46
G 71 47
H 72 48
I 73 49
J 74 4a
K 75 4b
L 76 4c
M 77 4d
N 78 4e
O 79 4f
P 80 50
Q 81 51
R 82 52
S 83 53
T 84 54
U 85 55
V 86 56
W 87 57
X 88 58
Y 89 59
Z 90 5a
[ 91 5b
\\ 92 5c
] 93 5d
^ 94 5e
_ 95 5f
` 96 60
a 97 61
b 98 62
c 99 63
d 100 64
e 101 65
f 102 66
g 103 67
h 104 68
i 105 69
j 106 6a
k 107 6b
l 108 6c
m 109 6d
n 110 6e
o 111 6f
p 112 70
q 113 71
r 114 72
s 115 73
t 116 74
u 117 75
v 118 76
w 119 77
x 120 78
y 121 79
z 122 7a
{ 123 7b
| 124 7c
} 125 7d
~ 126 7e

To leave a comment for the author, please follow the link and comment on their blog: DataDebrief.

R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...



If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Comments are closed.

Search R-bloggers


Sponsors

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)