ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CharSet, MBCS's Problem, WBCS Programming
    시스템 프로그래밍 2019. 2. 20. 14:31



    #3. 윈도우즈 시스템 프로그래밍






     3-1. CharacterSet 






    MBCS 는 문자열의 길이에 따라가 아니라 구성하는 요소마다마다의 바이트를 파악한다. 

    메모리 면에서는 WBCS 보다는 효율적일 수 있지만, 안정성의 문제에 있어서 취약한 부분이 있다. 



    WBCS 는 MBCS 와 다르게 모든 문자를 2바이트로 간주한다. 

    메모리 면에서 비효율적일 수 있으나, 프로그램의 효율성을 운운하기에 그 1바이트의 비중이 작다는 점

    무엇보다 안정성 면에서 우수하다는 것이 중요한 특징이다.










     3-2. MBCS's Problem 










     MBCS 는 다음과 같이 바이트를 계산하는 법과 일반적으로 사람이 생각하는 개념이 달라 혼동되는 경우가 있다. 'ABC한글' 은 바이트로 계산했을 때 그 길이값은 7이지만, 사람들은 5로 인식하기를 바란다. 

    문자마다 바이트가 다르기 때문에 이러한 문제점이 발생한다. 







     3-3. WBCS Programming 



    기존에 했던 프로그램에서 자료형과 함수이름, 문자열 표시방법 심지어 main 함수의 형태들이 바뀐다.

    또한 Charset 을 하나로 통일해주어야한다.

    따라서 자료형, 함수이름, 문자열 표시방법을 모두 WBCS 로 해주어야한다는 것이다.



    char str[ ] = "ABC" > wchar_t str[ ] = L"ABC" 






    strlen(str) >wcslen(str)

    printf("Hello world") > wprintf(L"Hello wolrd")







    main 함수, 변수이름, 함수이름, 문자열 표시방법

    이 모든 것을 WBCS 형식으로 해주어야 유니코드 프로그래밍이 가능하다!!














     다음의 내용들은  " https://www.youtube.com/watch?v=nmfNd8mIRDs&list=PLVsNizTWUw7E2KrfnsyEjTqo-6uKiQoxc&index=3 " 윤성우님의 강의내용 영상을 토대로 작성하였습니다.



    댓글

Designed by Tistory.