프로그래밍 노트

아스키 코드를 이용해서 대문자를 소문자로 소문자를 대문자로 간단히 바꾸기 본문

C++ TIP

아스키 코드를 이용해서 대문자를 소문자로 소문자를 대문자로 간단히 바꾸기

띠리 2007. 5. 29. 20:57
아스키 코드의 16진수값을 보면 대문자와 소문자의 값이 0x20이 차이난다.
이것을 이용하면 간단하게 대문자에서 소문자로 소문자에서 대문자로 바꿀수 있다.

문자 코드
10 16
@ 64 0x40
A 65 0x41
B 66 0x42
C 67 0x43
D 68 0x44
E 69 0x45
F 70 0x46
G 71 0x47
H 72 0x48
I 73 0x49
J 74 0x4a
K 75 0x4b
L 76 0x4c
M 77 0x4d
N 78 0x4e
O 79 0x4f
P 80 0x50
Q 81 0x51
R 82 0x52
S 83 0x53
T 84 0x54
U 85 0x55
V 86 0x56
W 87 0x57
X 88 0x58
Y 89 0x59
Z 90 0x5a
[ 91 0x5b
\ 92 0x5c
] 93 0x5d
^ 94 0x5e
_ 95 0x5f
문자 코드
10 16
` 96 0x60
a 97 0x61
b 98 0x62
c 99 0x63
d 100 0x64
e 101 0x65
f 102 0x66
g 103 0x67
h 104 0x68
i 105 0x69
j 106 0x6a
k 107 0x6b
l 108 0x6c
m 109 0x6d
n 110 0x6e
o 111 0x6f
p 112 0x70
q 113 0x71
r 114 0x72
s 115 0x73
t 116 0x74
u 117 0x75
v 118 0x76
w 119 0x77
x 120 0x78
y 121 0x79
z 122 0x7a
{ 123 0x7b
| 124 0x7c
} 125 0x7d
~ 126 0x7e
DEL 127 0x7f



// 대문자를 소문자로 바꾸기

char UpToLow(char &c)

{

    return c + 0x20;

}


// 소문자를 대문자로 바꾸기

char LowToUp(char &c)

{

    return c - 0x20;

}


void main()

{


    char cDat1, cDat2;


    cDat2 = 'A';


    cDat1 = UpToLow(cDat2);


    printf("%c -> %c\n", cDat2, cDat1);


    cDat1 = 'b';


    cDat2 = LowToUp(cDat1);


    printf("%c -> %c\n", cDat1, cDat2);

}

Comments