블로그 이미지
하루, 글. 그림. 영상매체. 표현을 도와주는 기기들. 도전 중. 동화다아아
    동화다아아

    카테고리

    분류 전체보기 (176)
    잡담 (1)
    IT 기기-리뷰&뉴스 (7)
    리뷰 - 도서 (1)
    리뷰 - 영상 (0)
    리뷰 - 그림/음악 (1)
    내장형 하드웨어 (163)
    Total
    Today
    Yesterday

    #include <stdio.h>

    int main()

    {

            char A;


            A='A';

            printf("%d\n",A); // A의 아스키 코드 번호 출력

            A='z';

            printf("%d\n",A);

            A=' ';

            printf("%d\n",A);

            A='/';

            printf("%d\n",A);

            A='\\';

            printf("%d\n",A);

            A='6';

            printf("%d\n",A);

            A=';';

            printf("%d\n",A);


            return 0;

    }

     

    → 여기서 백슬래쉬(\-원화사인)를 작은따옴표 안에 두 번 적은 이유는 \가 뒤의 것을 해석하지 말라는 뜻이 있어 컴퓨터의 입장에서는 A="\";가 A=";로 인식되어 에러가 발생하게 된다. 따라서 A="\\";라고 하면 앞의 \가 뒤의 \의 해석을 막으므로 컴퓨터는 A="\"로 받아들이게 된다.



    ASCII CODE (아스키코드) - American standard code for information interchange


    정보 교환용 미국 표준 부호. 아스키는 문자, 숫자, 구두점 및 기타 일부 특수 문자에 수치(numeric value)를 부여하는 부호 체계로서, 1962년 미국표준협회(ANSI)가 제정했다. 1967년 국제표준화기구(ISO) 가 ISO 646으로 제정한 7비트 정보 교환용 부호도 이를 준거한 것이다. 각 문자에 사용되는 수치를 표준화함으로써 아스키는 컴퓨터 및 프로그램이 정보를 교환할 수 있게 한다. 아스키는 모두 256개의 부호를 각각 128개로 이루어진 2개의 집합, 즉 표준 집합과 확장 집합으로 구분하여 제공한다. 표준 아스키 부호 집합에서는 각 부호에 7비트를 사용하여 0부터 127(16진수 00H부터 7FH)까지 128개 문자 부호를 제공한다. 확장 아스키 부호 집합에서는 각 부호에 8비트를 사용하여 128부터 255(16진수 80H부터 FFH)까지 128개 문자 부호를 추가로 제공한다. 표준 아스키 부호 집합 128개 중에서 0부터 32까지의 부호는 후진 문자(BS), 나르게 되돌림 문자, 탭 문자와 같은 비인쇄 문자, 즉 컴퓨터와 컴퓨터 간의 정보 전송 또는 컴퓨터와 인쇄기 간의 정보 전송을 제어하는 데 사용되는 제어 문자에 할당되어 있다. 나머지 96개 부호는 로마자의 대문자와 소문자, 0부터 9까지의 숫자 및 널리 사용되는 구두점 등 특수 기호에 할당되어 있다. 그리고 128부터 255까지의 확장 아스키 부호 집합은 컴퓨터 생산자와 소프트웨어 개발자가 여러 가지 다양한 문자에 할당할 수 있도록 하고 있다. 이렇게 할당된 확장 부호는 표준 아스키 부호와 같이 서로 다른 프로그램이나 컴퓨터 사이에서 교환되지 못한다. 예를 들면, IBM은 보통 IBM 확장 문자 집합(IBM Extended Character Set)이라고 불리는 일종의 확장 아스키 부호 집합을 자사의 PC용으로 사용하고, 애플 컴퓨터 회사는 이와 비슷한 다른 확장 아스키 문자 집합을 매킨토시용으로 사용하고 있다. 그러므로 표준 아스키 부호 집합은 마이크로컴퓨터 하드웨어 및 소프트웨어 사이에서 세계적으로 통용되는 데 비해, 확장 아스키 부호 집합은 프로그램이나 컴퓨터 또는 인쇄기가 그것을 해독할 수 있도록 설계되어 있어야만 올바로 해독될 수 있다.


    기능에 따라 문자를 구분하자면 크게 두 가지로 분류할 수 있다.

    1. 제어문자(Control Character) : 제어문자는 통신, 서식, 특수제어 및 정보 분리 등의 기능을 하는 문자.

    2. 그래픽 문자(Graphic Character) : 일반적으로 알고 있는 숫자와 알파벳. (0~9, a~z, A~Z)

    10진수

    16진수

    8진수

    2진수

    ASCII

    10진수

    16진수

    8진수

    2진수

    ASCII

    0

    0×00

    000

    0000000

    NULL

    64

    0×40

    100

    1000000

    @

    1

    0×01

    001

    0000001

    SOH

    65

    0×41

    101

    1000001

    A

    2

    0×02

    002

    0000010

    STX

    66

    0×42

    102

    1000010

    B

    3

    0×03

    003

    0000011

    ETX

    67

    0×43

    103

    1000011

    C

    4

    0×04

    004

    0000100

    EOT

    68

    0×44

    104

    1000100

    D

    5

    0×05

    005

    0000101

    ENQ

    69

    0×45

    105

    1000101

    E

    6

    0×06

    006

    0000110

    ACK

    70

    0×46

    106

    1000110

    F

    7

    0×07

    007

    0000111

    BEL

    71

    0×47

    107

    1000111

    G

    8

    0×08

    010

    0001000

    BS

    72

    0×48

    110

    1001000

    H

    9

    0×09

    011

    0001001

    HT

    73

    0×49

    111

    1001001

    I

    10

    0×0A

    012

    0001010

    LF

    74

    0×4A

    112

    1001010

    J

    11

    0×0B

    013

    0001011

    VT

    75

    0×4B

    113

    1001011

    K

    12

    0×0C

    014

    0001100

    FF

    76

    0×4C

    114

    1001100

    L

    13

    0×0D

    015

    0001101

    CR

    77

    0×4D

    115

    1001101

    M

    14

    0×0E

    016

    0001110

    SO

    78

    0×4E

    116

    1001110

    N

    15

    0×0F

    017

    0001111

    SI

    79

    0×4F

    117

    1001111

    O

    16

    0×10

    020

    0010000

    DLE

    80

    0×50

    120

    1010000

    P

    17

    0×11

    021

    0010001

    DC1

    81

    0×51

    121

    1010001

    Q

    18

    0×12

    022

    0010010

    SC2

    82

    0×52

    122

    1010010

    R

    19

    0×13

    023

    0010011

    SC3

    83

    0×53

    123

    1010011

    S

    20

    0×14

    024

    0010100

    SC4

    84

    0×54

    124

    1010100

    T

    21

    0×15

    025

    0010101

    NAK

    85

    0×55

    125

    1010101

    U

    22

    0×16

    026

    0010110

    SYN

    86

    0×56

    126

    1010110

    V

    23

    0×17

    027

    0010111

    ETB

    87

    0×57

    127

    1010111

    W

    24

    0×18

    030

    0011000

    CAN

    88

    0×58

    130

    1011000

    X

    25

    0×19

    031

    0011001

    EM

    89

    0×59

    131

    1011001

    Y

    26

    0×1A

    032

    0011010

    SUB

    90

    0×5A

    132

    1011010

    Z

    27

    0×1B

    033

    0011011

    ESC

    91

    0×5B

    133

    1011011

    [

    28

    0×1C

    034

    0011100

    FS

    92

    0×5C

    134

    1011100

    \

    29

    0×1D

    035

    0011101

    GS

    93

    0×5D

    135

    1011101

    ]

    30

    0×1E

    036

    0011110

    RS

    94

    0×5E

    136

    1011110

    ^

    31

    0×1F

    037

    0011111

    US

    95

    0×5F

    137

    1011111

    _

    32

    0×20

    040

    0100000

    SP

    96

    0×60

    140

    1100000

    .

    33

    0×21

    041

    0100001

    !

    97

    0×61

    141

    1100001

    a

    34

    0×22

    042

    0100010

    "

    98

    0×62

    142

    1100010

    b

    35

    0×23

    043

    0100011

    #

    99

    0×63

    143

    1100011

    c

    36

    0×24

    044

    0100100

    $

    100

    0×64

    144

    1100100

    d

    37

    0×25

    045

    0100101

    %

    101

    0×65

    145

    1100101

    e

    38

    0×26

    046

    0100110

    &

    102

    0×66

    146

    1100110

    f

    39

    0×27

    047

    0100111

    '

    103

    0×67

    147

    1100111

    g

    40

    0×28

    050

    0101000

    (

    104

    0×68

    150

    1101000

    h

    41

    0×29

    051

    0101001

    )

    105

    0×69

    151

    1101001

    i

    42

    0×2A

    052

    0101010

    *

    106

    0×6A

    152

    1101010

    j

    43

    0×2B

    053

    0101011

    +

    107

    0×6B

    153

    1101011

    k

    44

    0×2C

    054

    0101100

    '

    108

    0×6C

    154

    1101100

    l

    45

    0×2D

    055

    0101101

    -

    109

    0×6D

    155

    1101101

    m

    46

    0×2E

    056

    0101110

    .

    110

    0×6E

    156

    1101110

    n

    47

    0×2F

    057

    0101111

    /

    111

    0×6F

    157

    1101111

    o

    48

    0×30

    060

    0110000

    0

    112

    0×70

    160

    1110000

    p

    49

    0×31

    061

    0110001

    1

    113

    0×71

    161

    1110001

    q

    50

    0×32

    062

    0110010

    2

    114

    0×72

    162

    1110010

    r

    51

    0×33

    063

    0110011

    3

    115

    0×73

    163

    1110011

    s

    52

    0×34

    064

    0110100

    4

    116

    0×74

    164

    1110100

    t

    53

    0×35

    065

    0110101

    5

    117

    0×75

    165

    1110101

    u

    54

    0×36

    066

    0110110

    6

    118

    0×76

    166

    1110110

    v

    55

    0×37

    067

    0110111

    7

    119

    0×77

    167

    1110111

    w

    56

    0×38

    070

    0111000

    8

    120

    0×78

    170

    1111000

    x

    57

    0×39

    071

    0111001

    9

    121

    0×79

    171

    1111001

    y

    58

    0×3A

    072

    0111010

    :

    122

    0×7A

    172

    1111010

    z

    59

    0×3B

    073

    0111011

    ;

    123

    0×7B

    173

    1111011

    {

    60

    0×3C

    074

    0111100

    <

    124

    0×7C

    174

    1111100

    |

    61

    0×3D

    075

    0111101

    =

    125

    0×7D

    175

    1111101

    }

    62

    0×3E

    076

    0111110

    >

    126

    0×7E

    176

    1111110

    ~

    63

    0×3F

    077

    0111111

    ?

    127

    0×7F

    177

    1111111

    DEL


    확장형

     

    - 아스키코드에는 영문과 숫자만을 넣을 수 있는 한계가 있기에, 유니코드를 만들어서 한글, 일어, 한자 등을 넣을 수 있도록 했다. 아스키코드는 1byte(8bit->2의8제곱=256)지만 유니코드는 2byte(16bit->2의 16제곱=65536)를 차지한다.


    ex)

    #include<stdio.h>

    int main()

    {

            printf("%c%c%c%c%c\n",72,101,108,108,111);

            return 0;

    }


    //문자열을 화면에 출력하는 프로그램


    #include <stdio.h>

    int main()

    {

            char word[30]; //문자열의 배열 선언

            short A[30];

            int B[30];

            

            

            printf("Please enter anything: ");

            scanf("%s", word);

            printf("%s, this is what you type.\n", word);

            printf("%d\n",sizeof(word));

            printf("%d\n",sizeof(A));

            printf("%d\n",sizeof(B));


            return 0;

    }


    → scanf("%s", word);// %s는 string(문자열)의 뜻이며 문자열의 경우는 %s가 저장되는 변수 word 앞에 &가 생략되었다.(문자열을 제외하면 반드시 &를 넣어야 한다.)

    → char word[30] 배열은 30byte의 메모리를 차지하고

       short A[30] 배열은 60byte의 메모리를 차지하며

       int B[30] 배열은 120byte의 메모리를 차지한다.       


    [참고]

    ASCII CODE (http://blog.naver.com/vletzrockv?Redirect=Log&logNo=130010010849)

    ASCII 표 (http://www.jasko.co.kr/lesson/ascii.html)

    확장형 ASCII 표 (http://blog.naver.com/leons78?Redirect=Log&logNo=130001992806)


    Posted by 동화다아아
    , |

    최근에 달린 댓글

    최근에 받은 트랙백

    글 보관함