유니코드 값과 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"
문자와 코드 값 사이의 매핑을 포함하여 유니코드에 대한 자세한 내용은 유니코드를 참조하십시오.
참고 항목
char
| double
| single
| string
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64