알파벳의 ASCII 값을 얻는 방법은 무엇입니까?
97
예를 들어 , a
?
답변1
다음 두 가지 함수를 정의하세요(종종 다른 언어에서도 사용 가능).
chr() {
[ "$1" -lt 256 ] || return 1
printf "\\$(printf '%03o' "$1")"
}
ord() {
LC_CTYPE=C printf '%d' "'$1"
}
용법:
chr 65
A
ord A
65
답변2
다음을 통해 전체 컬렉션을 볼 수 있습니다.
$ man ascii
8진수, 16진수, 10진수에 대한 표를 얻을 수 있습니다.
답변3
이것은 아주 잘 작동합니다.
echo "A" | tr -d "\n" | od -An -t uC
echo "A" ### Emit a character.
| tr -d "\n" ### Remove the "newline" character.
| od -An -t uC ### Use od (octal dump) to print:
### -An means Address none
### -t select a type
### u type is unsigned decimal.
### C of size (one) char.
다음과 정확히 동일합니다.
echo -n "A" | od -An -tuC ### Not all shells honor the '-n'.
답변4
나는 간단하고 우아한 Bash 솔루션을 원합니다.
for i in {a..z}; do echo $(printf "%s %d" "$i" "'$i"); done
스크립트에서 다음을 사용할 수 있습니다.
CharValue="A"
AscValue=`printf "%d" "'$CharValue"
CharValue 앞의 작은따옴표에 유의하세요. 그것은 의무적입니다 ...