Main Content

유니코드 값과 ASCII 값

MATLAB®은 UTF-16 인코딩을 사용하여 각 문자가 숫자형 코드 값으로 표현되는 Unicode® 문자로 모든 문자를 저장합니다. (유니코드는 ASCII 문자 집합을 처음 128개 기호로 포함하므로, ASCII 문자는 유니코드와 ASCII에서 같은 숫자형 코드를 가집니다.) 문자형 배열과 string형 배열은 모두 이 인코딩을 사용합니다. 다양한 수치 변환 함수를 사용하여 문자를 그에 상응하는 숫자형 코드 값으로 변환할 수 있습니다. char 함수를 사용하여 숫자를 문자로 변환할 수 있습니다.

문자를 숫자형 코드 값으로 변환하기

문자를 해당 유니코드 코드 값을 나타내는 정수로 변환할 수 있습니다. 단일 문자 또는 문자형 배열을 변환하려면 다음 함수를 사용하십시오.

  • double

  • uint16, uint32 또는 uint64

double 함수를 사용하는 것이 가장 좋습니다. 하지만 숫자형 값을 정수로 저장해야 하는 경우에는 MATLAB이 UTF-16 인코딩을 사용하므로 적어도 16비트를 가진 부호 없는 정수를 사용하십시오.

double 함수를 사용하여 문자형 벡터를 유니코드 코드 값으로 변환합니다.

C = 'MATLAB'
C = 
'MATLAB'
unicodeValues = double(C)
unicodeValues = 1×6

    77    65    84    76    65    66

string형 배열에 포함된 문자를 유니코드 코드 값으로 직접 변환할 수는 없습니다. 특히, double 함수는 str2double 함수와 마찬가지로 문자열을 그 문자열이 나타내는 숫자로 변환합니다. double은 문자열을 숫자로 변환할 수 없는 경우 NaN 값을 반환합니다.

str = "MATLAB";
double(str)
ans = NaN

문자열에 포함된 문자를 변환하려면 먼저 문자열을 문자형 벡터로 변환하거나 중괄호를 사용하여 문자를 추출하십시오. 그런 다음, double과 같은 함수를 사용하여 문자를 변환합니다.

C = char(str);
unicodeValues = double(C)
unicodeValues = 1×6

    77    65    84    76    65    66

숫자형 코드 값을 문자로 변환하기

char 함수를 사용하여 유니코드 값을 문자로 변환할 수 있습니다.

D = [77 65 84 76 65 66]
D = 1×6

    77    65    84    76    65    66

C = char(D)
C = 
'MATLAB'

일반적으로 char은 입력할 수 없는 문자를 생성하여 문자열에 추가할 때 사용할 수 있습니다. 예를 들어, 도 단위 기호를 나타내는 문자를 생성하여 문자열에 추가해 보겠습니다. 도 단위 기호에 대한 유니코드 코드 값은 176입니다.

deg = char(176)
deg = 
'°'
myLabel = append("Current temperature is 21",deg,"C")
myLabel = 
"Current temperature is 21°C"

문자와 코드 값 사이의 매핑을 포함하여 유니코드에 대한 자세한 내용은 유니코드를 참조하십시오.

참고 항목

| | | | | | | | | | |

관련 항목

외부 웹사이트