다음: 문자 단위 함수, 이전: 문자열 다루기, 상위 문서: 문자열   [차례][찾아보기]


5.6 문자열 바꾸어 계산하기

옥타브는 문자열과 숫자를 환산하는 함수를 여러 종류 지원합니다. 예를 들어, 16진수를 부동 소수점 숫자로 환산할 수 있습니다.

hex2dec ("FF")
      ⇒ 255
bin2dec (s)

s에 있는 이진수와 같은 10진수를 반환합니다.

예시:

bin2dec ("1110")
     ⇒ 14

띄어쓰기는 무시되나 이진수를 읽기 좋게 만들 수 있습니다.

bin2dec ("1000 0001")
     ⇒ 129

s가 문자열 행렬이면, s의 각 열을 숫자 한 개로 환산한 행 벡터를 반환합니다. 무효한 행은 NaN으로 평가합니다.

s가 낱칸 배열인 문자열이면, s의 낱칸 원소 각각을 숫자 한 개로 환산한 열 벡터를 반환합니다.

같이 보기: dec2bin, base2dec, hex2dec.

dec2bin (d, 길이)

음수가 아닌 정수 d와 같은, 문자열에 1과 0 뿐인 이진수를 반환합니다.

예시:

dec2bin (14)
     ⇒ "1110"

d가 행렬이나 낱칸 배열이면, d의 각 원소를 숫자 한 개로 환산하고, 앞에 0을 넣어 가장 큰 값과 자리를 맞춘 문자열 행렬을 반환합니다.

두 번째 선택 매개변수 길이는 결과의 최소 자리수를 지정합니다.

같이 보기: bin2dec, dec2base, dec2hex.

dec2hex (d, 길이)

음이 아닌 정수 d와 같은 16진수를 반환합니다.

예시:

dec2hex (2748)
     ⇒ "ABC"

d가 행렬이나 낱칸 배열이면, d의 각 원소를 숫자 한 개로 환산하고, 앞에 0을 넣어 가장 큰 값과 자리를 맞춘 문자열 행렬을 반환합니다.

두 번째 선택 매개변수 길이는 결과의 최소 자리수를 지정합니다.

같이 보기: hex2dec, dec2base, dec2bin.

hex2dec (s)

16진수 값 s와 같은 정수를 반환합니다.

예시:

hex2dec ("12B")
      ⇒ 299
hex2dec ("12b")
      ⇒ 299

s가 문자열 행렬이면, s의 각 행을 숫자 한 개로 환산한 열 벡터를 반환합니다. 잘못된 행은 NaN으로 평가합니다.

s가 낱칸 배열인 문자열이면,  s의 낱칸 원소 각각이 숫자 한 개로 환산된 열 벡터를 반환합니다.

같이 보기: dec2hex, base2dec, bin2dec.

dec2base (d, base)
dec2base (d, base, 길이)

음수가 아닌 정수 dbase 진수로 환산하여 반환합니다.

dec2base (123, 3)
   ⇒ "11120"

d가 행렬이나 낱칸 배열이면, d의 각 원소를 숫자 한 개로 환산하고, 앞에 0을 넣어 가장 큰 값과 자리를 맞춘 문자열 행렬을 반환합니다.

base가 문자열이면, base 내 문자를 d 내 숫자에 대한 진수로 사용합니다. 띄어 쓰기(’ ’)는 보통 진법으로 사용하지 않습니다.

dec2base (123, "aei")
   ⇒ "eeeia"

세 번째 선택 매개변수 길이는 결과의 최소 자리수를 지정합니다.

같이 보기: base2dec, dec2bin, dec2hex.

base2dec (s, base)

base 진수인 s 내 숫자를  10진수(base 10)로 환산합니다.

base2dec ("11120", 3)
   ⇒ 123

s가 문자열 행렬이면, s의 각 행을 값 한 개로 환산한 열 벡터를 반환합니다. 행이 질못된 진수이면, 대응하는 값이 NaN이 됩니다.

s가 낱칸 배열인 문자열이면, s의 각 낱칸 원소를 값 한 개로 환산한 열 벡터를 반환합니다.

base가 문자열이면, base 내 문자를 s 내 숫자에 대한 진수로 사용합니다. 띄어 쓰기(’ ’)는 보통 진법으로 사용하지 않습니다.

base2dec ("yyyzx", "xyz")
   ⇒ 123

같이 보기: dec2base, bin2dec, hex2dec.

s = num2hex (n)
s = num2hex (n, "cell")

수치 배열을 16진수 문자열로 환산합니다.

예시:

num2hex ([-1, 1, e, Inf])
⇒ "bff0000000000000
    3ff0000000000000
    4005bf0a8b145769
    7ff0000000000000"

매개변수 n이 단정도 수치이거나 벡터이면, 반환하는 문자열은 길이가 8입니다. 예시입니다.

num2hex (single ([-1, 1, e, Inf]))
⇒ "bf800000
    3f800000
    402df854
    7f800000"

두 번째 선택 매개변수 "cell"를 넣으면, 문자 배열 대신 낱칸 배열인 문자열을 반환합니다.

같이 보기: hex2num, hex2dec, dec2hex.

n = hex2num (s)
n = hex2num (s, 분류)

16진법 문자 배열 또는 낱칸 배열인 문자열을 숫자 배열로 형 환산 합니다.

기본적으로, 입력한 배열을 배정도 16진수로 해석합니다. 입력한 문자가 16개 미만이면 문자열 오른쪽을 '0' 문자로 채웁니다.

문자열 행렬을 입력하면, hex2num은 각 행이 별개인 숫자로 다룹니다.

hex2num (["4005bf0a8b145769"; "4024000000000000"])
   ⇒ [2.7183; 10.000]

두 번째 선택 매개변수인 분류는 입력한 배열의 자료형을 다른 자료형으로 해석해야 할 때 사용합니다. 가능한 값은 다음과 같습니다.

OptionCharacters
"int8"2
"uint8"2
"int16"4
"uint16"4
"int32"8
"uint32"8
"int64"16
"uint64"16
"char"2
"single"8
"double"16

예시:

hex2num (["402df854"; "41200000"], "single")
   ⇒ [2.7183; 10.000]

같이 보기: num2hex, hex2dec, dec2hex.

str2double (s)

문자열을 실수 또는 복소수로 환산합니다.

문자열은 반드시 아래 형식을 따라야 합니다. a와 b는 실수이고, 'i''j'는 허수 단위입니다.

a와 b는 [+-]d[,.]d[[eE][+-]d] 형식이며, 대괄호는 선택 매개변수이며, 'd'은 0 이상인 숫자입니다. 특별 입력 값인 Inf, NaN, NA도 가능합니다.

s에 문자 문자열, 문자 행렬, 낱칸 배열이 가능합니다. 문자 배열에서는 변환이 매 행마다 반복되며, 배정도 또는 복소수 배열을 반환합니다. s에 있는 빈 행은 삭제되고, 수치 배열에 반환되지 않습니다. 낱칸 배열에서는 각 문자 문자열 원소에 대한 변환이 이루어지고, s와 같은 크기인 배정도 또는 복소수 배열을 반환합니다.

변환이 불가능한 스칼라나 문자 문자열을 str2double에 입력하면, NaN을 반환합니다. 비슷하게, 입력한 문자 문자열 s 중 변환 불가능한 행은 str2double에서 NaN을 반환합니다. 낱칸 문자열 s에서 변환에 실패한 원소는 NaN을 반환합니다. 문자와 숫자가 섞인 낱칸 배열의 숫자 원소는 문자열이 아니기에 변환에 실패하며 NaN을 반환함에 유의하십시오.

str2doublestr2num을 대신할 수 있으며, 알 수 없는 값에 eval을 사용하는 보안 위험을 피합니다.

같이 보기: str2num.

strjust (s)
strjust (s, pos)

"left", "center", "right" 중 하나인 방향에 따라 글월 s를 정렬합니다.

방향이 지정되지 않으며, 기본 값인 "right"을 사용합니다.

빈 문자는 띄어 쓰기로 바뀝니다. 다른 모든 문자 자료는 비공백 문자로 처리됩니다.

예시입니다.

strjust (["a"; "ab"; "abc"; "abcd"])
     ⇒
        "   a"
        "  ab"
        " abc"
        "abcd"

같이 보기: deblank, strrep, strtrim, untabify.

가로 = str2num (s)
[가로, 상태] = str2num (s)

문자열(또는 문자 배열) s를 숫자(또는 배열)로 변환합니다.

예시:

str2num ("3.141596")
      ⇒ 3.141596

str2num (["1, 2, 3"; "4, 5, 6"])
      ⇒ 1  2  3
         4  5  6

두 번째 선택 출력인 상태는 변환이 성공하면 논리값 참이 됩니다. 변환에 실패하면 가로는 빈 값이 되고, 상태는 거짓이 됩니다.

주의: str2num이 변환에 eval 함수를 사용하기 때문에, str2num는 문자열 s에 삽입된 모든 부호를 실행합니다. 빠르고 안전한 변환을 위해 str2double을 사용하십시오.

낱칸 배열인 문자열에는 str2double을 사용하십시오.

같이 보기: str2double, eval.

tolower (s)
lower (s)

문자열 또는 낱칸 문자열 s의 모든 대문자를 짝꿍인 소문자로 바꾸어 반환합니다. 영문자가 아닌 문자는 건들지 않습니다.

예시:

tolower ("MiXeD cAsE 123")
      ⇒ "mixed case 123"

같이 보기: toupper.

toupper (s)
upper (s)

문자열 또는 낱칸 문자열 s의 모든 소문자를 짝꿍인 대문자로 바꾸어 반환합니다. 영문자가 아닌 문자는 건들지 않습니다.

예시:

toupper ("MiXeD cAsE 123")
      ⇒ "MIXED CASE 123"

같이 보기: tolower.

native_bytes = unicode2native (utf8_문자열, 부호표)
native_bytes = unicode2native (utf8_문자열)

UTF-8 문자열인 utf8_문자열부호표를 사용하여 바이트 흐름으로 변환합니다.

문자 벡터 utf8_문자열을 지정한 부호표을 사용하여 바이트 흐름 native_bytes으로 변환합니다. 문자열 부호표은 반드시 올바른 부호표 식별자이어야 합니다. "ISO-8859-1", "Shift-JIS", "UTF-16"는 올바른 부호표 예시입니다. 지원하는 부호표 목록은 https://www.gnu.org/software/libiconv에 있습니다. 부호표가 지정되지 않거나 비면, 운영체제 기본 부호표을 사용합니다.

부호표 부호표에 없는 문자는 해당 부호표 내 적절한 대체 문자로 바뀝니다.

같이 보기: native2unicode.

utf8_문자열 = native2unicode (native_bytes, 부호표)
utf8_문자열 = native2unicode (native_bytes)

바이트 흐름 native_bytes부호표를 사용하여 UTF-8로 변환합니다.

벡터 native_bytes 내 숫자는 반올림되어, 정수 0과 255 사이 값으로 잘립니다. 그리고 나서 바이트 흐름을 지정한 문자열 부호표로 도표화하여 문자열 utf8_문자열에 반환합니다. 옥타브는 내부 부호화에 UTF-8를 사용합니다. 문자열 부호표은 반드시 올바른 부호표 식별자이어야 합니다. "ISO-8859-1", "Shift-JIS", "UTF-16"는 올바른 부호표 예시입니다. 지원하는 부호표 목록은 https://www.gnu.org/software/libiconv에 있습니다. 부호표가 지정되지 않거나 비면, 운영체제 기본 부호표을 사용합니다.

native_bytes가 문자열 벡터이면, 그대로 반환합니다.

같이 보기: unicode2native.

do_string_escapes (문자열)

문자열 내 제어 문자를 시행합니다.

제어 문자는 왼빗금에 덧붙은 1~3개 문자입니다.(예: "\n"은 새 줄)

같이 보기: undo_string_escapes.

undo_string_escapes (s)

문자열 내 특별 문자를 있는 문자 그대로으로 변환합니다.

예를 들어, 아래 표현식은

bell = "\a";

문자열 변수 bell에 경고음 문자 값(제어쇠-g, 미국정보교환표준부호 7)을 할당합니다. 이 문자열을 출력하면, 운영체제가 단말기 경고음을 냅니다.(가능한 경우) 보통은 경고음이 기대하는 결과입니다. 그러나, 가끔은 문자열을 특별 문자 자기자신을 사용하여 문자 그대로를 출력할 필요가 있습니다. 예시입니다.

octave:13> undo_string_escapes (bell)
ans = \a

문자 출력이 불가능한 경고음을 출력 가능한 형식으로 대체하여 출력합니다.

같이 보기: do_string_escapes.


다음: 문자 단위 함수, 이전: 문자열 다루기, 상위 문서: 문자열   [차례][찾아보기]