TBEL 헬퍼 함수
TBEL에는 인코딩, 바이트 조작, 16진수 변환, 날짜·시간, 지오펜싱을 위한 다양한 내장 헬퍼 함수가 있습니다. 언어 문법과 데이터 유형은 언어 가이드를 참고하세요.
인코딩
섹션 제목: “인코딩”btoa
섹션 제목: “btoa”2진 문자열로 Base64 인코딩된 ASCII 문자열을 만듭니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
input | String | 인코딩할 2진 문자열 |
반환: String — Base64로 인코딩된 문자열.
var encodedData = btoa("Hello, world"); // encode a stringvar decodedData = atob(encodedData); // decode the stringatob
섹션 제목: “atob”Base64로 인코딩된 문자열을 2진 문자열로 디코딩합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
input | String | Base64로 인코딩된 문자열 |
반환: String — 디코딩된 2진 문자열.
var encodedData = btoa("Hello, world");var decodedData = atob(encodedData); // "Hello, world"숫자 반올림
섹션 제목: “숫자 반올림”toFixed
섹션 제목: “toFixed”double 값을 지정한 정밀도에서 가장 가까운 값으로 반올림합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
value | double | 반올림할 값 |
precision | int | 소수 자릿수 |
반환: double — 반올림한 값.
toFixed(0.345, 1); // 0.3toFixed(0.345, 2); // 0.35toInt
섹션 제목: “toInt”double 값을 가장 가까운 정수로 반올림합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
value | double | 반올림할 값 |
반환: int — 반올림한 정수.
toInt(0.3); // 0toInt(0.5); // 1toInt(2.7); // 3문자열과 바이트 변환
섹션 제목: “문자열과 바이트 변환”stringToBytes
섹션 제목: “stringToBytes”문자열을 바이트 리스트로 바꿉니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
input | String | 바꿀 문자열 |
charsetName | String | 선택 사항. 문자 집합(기본값: UTF-8) |
반환: List — 바이트 값 리스트.
stringToBytes("hello world");// [104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100]
var base64Str = "eyJoZWxsbyI6ICJ3b3JsZCJ9";var bytesStr = atob(base64Str);stringToBytes(bytesStr);// [123, 34, 104, 101, 108, 108, 111, 34, 58, 32, 34, 119, 111, 114, 108, 100, 34, 125]
stringToBytes("hello world", "UTF8");// [104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100]bytesToString
섹션 제목: “bytesToString”바이트 리스트로 문자열을 만듭니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
bytesList | List | 바이트 값 리스트 |
charsetName | String | 선택 사항. 문자 집합(기본값: UTF-8) |
반환: String — 디코딩된 문자열.
var bytes = [0x48, 0x45, 0x4C, 0x4C, 0x4F];bytesToString(bytes); // "HELLO"decodeToString
섹션 제목: “decodeToString”bytesToString의 별칭입니다.
decodeToJson
섹션 제목: “decodeToJson”바이트 리스트를 JSON 문서로 디코딩합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
bytesList | List | 바이트 값 리스트 |
반환: JSON 객체나 기본형 값.
var base64Str = "eyJoZWxsbyI6ICJ3b3JsZCJ9";var bytesStr = atob(base64Str);var bytes = stringToBytes(bytesStr);decodeToJson(bytes); // {"hello": "world"}유형 검사
섹션 제목: “유형 검사”isBinary
섹션 제목: “isBinary”문자열이 2진(base-2) 값인지 확인합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
str | String | 확인할 문자열 |
반환: int — 2진이면 2, 아니면 -1.
isBinary("1100110"); // 2isBinary("2100110"); // -1isOctal
섹션 제목: “isOctal”문자열이 8진(base-8) 값인지 확인합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
str | String | 확인할 문자열 |
반환: int — 8진이면 8, 아니면 -1.
isOctal("4567734"); // 8isOctal("8100110"); // -1isDecimal
섹션 제목: “isDecimal”문자열이 10진(base-10) 값인지 확인합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
str | String | 확인할 문자열 |
반환: int — 10진이면 10, 아니면 -1.
isDecimal("4567039"); // 10isDecimal("C100110"); // -1isHexadecimal
섹션 제목: “isHexadecimal”문자열이 16진(base-16) 값인지 확인합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
str | String | 확인할 문자열 |
반환: int — 16진이면 16, 아니면 -1.
isHexadecimal("F5D7039"); // 16isHexadecimal("K100110"); // -1isNaN
섹션 제목: “isNaN”double 값이 NaN(Not-a-Number)인지 확인합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
value | double | 확인할 값 |
반환: boolean — NaN이면 true.
isNaN(0.0 / 0.0); // trueisNaN(1.0); // falseURI 인코딩
섹션 제목: “URI 인코딩”encodeURI
섹션 제목: “encodeURI”URI 문자열을 인코딩합니다. 다음 예약 문자는 그대로 둡니다: A–Z a–z 0–9 - _ . ! ~ * ' ( ) ; / ? : @ & = + $ , #
| 매개변수 | 형식 | 설명 |
|---|---|---|
uri | String | 인코딩할 URI |
반환: String — 인코딩된 URI.
var uri = "-_.!~*'();/?:@&=+$,#ht://example.ж д a/path with spaces/?param1=Київ 1¶m2=Україна2";encodeURI(uri);// "-_.!~*'();/?:@&=+$,#ht://example.%D0%B6%20%D0%B4%20a/path%20with%20spaces/?param1=%D0%9A%D0%B8%D1%97%D0%B2%201¶m2=%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D0%B02"decodeURI
섹션 제목: “decodeURI”encodeURI로 인코딩한 URI를 디코딩합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
uri | String | 인코딩된 URI |
반환: String — 디코딩된 URI.
var encoded = "-_.!~*'();/?:@&=+$,#ht://example.%D0%B6%20%D0%B4%20a/path%20with%20spaces/?param1=%D0%9A%D0%B8%D1%97%D0%B2%201¶m2=%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D0%B02";decodeURI(encoded);// "-_.!~*'();/?:@&=+$,#ht://example.ж д a/path with spaces/?param1=Київ 1¶m2=Україна2"유틸리티
섹션 제목: “유틸리티”raiseError
섹션 제목: “raiseError”지정한 메시지로 RuntimeException을 던집니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
message | String | 예외 메시지 |
raiseError("frequency_weighting_type must be 0, 1 or 2.");// throws RuntimeException: "frequency_weighting_type must be 0, 1 or 2."
var value = 4;var message = "frequency_weighting_type must be 0, 1 or 2. A value of " + value + " is invalid.";raiseError(message);// throws RuntimeException with the composed messageprintUnsignedBytes
섹션 제목: “printUnsignedBytes”부호 있는 바이트 리스트를 부호 없는 정수 표현으로 바꿉니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
byteArray | List | 부호 있는 바이트 값 리스트 |
반환: List — 부호 없는 바이트 값(0–255).
var list = hexToBytes("D8FF");printUnsignedBytes(list); // [216, 255]
var list2 = hexToBytes("FFD8");printUnsignedBytes(list2); // [255, 216]문자열 채우기
섹션 제목: “문자열 채우기”padStart
섹션 제목: “padStart”목표 길이가 될 때까지 문자열 앞쪽을 채웁니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
str | String | 채울 문자열 |
targetLength | int | 원하는 결과 길이 |
padString | char | 채울 문자 |
반환: String — 채운 문자열. 문자열이 이미 목표 길이 이상이면 그대로 돌려줍니다.
padStart("010011", 8, '0'); // "00010011"padStart("1001010011", 8, '0'); // "1001010011" (already >= 8)padStart("1001010011", 16, '*'); // "******1001010011"
var fullNumber = "203439900FFCD5581";var last6 = fullNumber.substring(11);padStart(last6, fullNumber.length(), '*'); // "***********CD5581"padEnd
섹션 제목: “padEnd”목표 길이가 될 때까지 문자열 뒤쪽을 채웁니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
str | String | 채울 문자열 |
targetLength | int | 원하는 결과 길이 |
padString | char | 채울 문자 |
반환: String — 채운 문자열. 문자열이 이미 목표 길이 이상이면 그대로 돌려줍니다.
padEnd("010011", 8, '0'); // "01001100"padEnd("1001010011", 8, '0'); // "1001010011" (already >= 8)padEnd("1001010011", 16, '*'); // "1001010011******"
var fullNumber = "203439900FFCD5581";var first11 = fullNumber.substring(0, 11);padEnd(first11, fullNumber.length(), '*'); // "203439900FF******"숫자를 16진수로 변환
섹션 제목: “숫자를 16진수로 변환”intToHex
섹션 제목: “intToHex”정수를 16진수 문자열로 바꿉니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
i | Integer | 바꿀 정수 |
bigEndian | boolean | 선택 사항. 빅 엔디언 바이트 순서(기본값: true) |
pref | boolean | 선택 사항. 0x 접두사 포함(기본값: false) |
len | int | 선택 사항. 포함할 바이트 수 |
반환: String — 16진수 문자열.
intToHex(0x7FFFFFFF, true, true); // "0x7FFFFFFF"intToHex(171, true, false); // "AB"intToHex(0xABCDEF, false, true, 4); // "0xCDAB"intToHex(0xABCD, false, false, 2); // "AB"longToHex
섹션 제목: “longToHex”long 값을 16진수 문자열로 바꿉니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
l | Long | 바꿀 long 값 |
bigEndian | boolean | 선택 사항. 빅 엔디언 바이트 순서(기본값: true) |
pref | boolean | 선택 사항. 0x 접두사 포함(기본값: false) |
len | int | 선택 사항. 포함할 바이트 수 |
반환: String — 16진수 문자열.
longToHex(9223372036854775807, true, true); // "0x7FFFFFFFFFFFFFFF"longToHex(0x7A12BCD3, true, true, 4); // "0xBCD3"longToHex(0x7A12BCD3, false, false, 4); // "127A"floatToHex
섹션 제목: “floatToHex”float 값을 IEEE 754 표현의 16진수 문자열로 바꿉니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
f | Float | 바꿀 float 값 |
bigEndian | boolean | 선택 사항. 빅 엔디언 바이트 순서(기본값: true) |
반환: String — 0x 접두사가 붙은 16진수 문자열.
floatToHex(123456789.00); // "0x4CEB79A3"floatToHex(123456789.00, false); // "0xA379EB4C"doubleToHex
섹션 제목: “doubleToHex”double 값을 IEEE 754 표현의 16진수 문자열로 바꿉니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
d | Double | 바꿀 double 값 |
bigEndian | boolean | 선택 사항. 빅 엔디언 바이트 순서(기본값: true) |
반환: String — 0x 접두사가 붙은 16진수 문자열.
doubleToHex(1729.1729d); // "0x409B04B10CB295EA"doubleToHex(1729.1729d, false); // "0xEA95B20CB1049B40"intLongToRadixString
섹션 제목: “intLongToRadixString”숫자를 지정한 진법(2진, 8진, 10진, 16진)의 문자열로 바꿉니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
number | Long | 바꿀 숫자 |
radix | int | 선택 사항. 진법: 2, 8, 10, 16(기본값: 10) |
bigEndian | boolean | 선택 사항. 빅 엔디언 바이트 순서(기본값: true) |
pref | boolean | 선택 사항. 16진수에 0x 접두사 포함(기본값: false) |
반환: String — 지정한 진법으로 나타낸 숫자.
intLongToRadixString(58, 2); // "00111010"intLongToRadixString(9223372036854775807, 2); // "0111111111...1" (63 digits)intLongToRadixString(13158, 8); // "31546"intLongToRadixString(-13158, 8); // "1777777777777777746232"intLongToRadixString(-13158, 10); // "-13158"intLongToRadixString(13158, 16); // "3366"intLongToRadixString(-13158, 16); // "FFCC9A"intLongToRadixString(9223372036854775807, 16); // "7FFFFFFFFFFFFFFF"intLongToRadixString(-13158, 16, true, true); // "0xFFCC9A"16진수 문자열 파싱
섹션 제목: “16진수 문자열 파싱”parseHexToInt
섹션 제목: “parseHexToInt”16진수 문자열을 정수로 파싱합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
hex | String | 16진수 문자열 |
bigEndian | boolean | 선택 사항. 빅 엔디언 바이트 순서(기본값: true) |
반환: int — 파싱한 정수.
parseHexToInt("BBAA"); // 48042parseHexToInt("BBAA", true); // 48042parseHexToInt("AABB", false); // 48042parseHexToInt("BBAA", false); // 43707별칭:
parseLittleEndianHexToInt(hex)—parseHexToInt(hex, false)와 같습니다parseBigEndianHexToInt(hex)—parseHexToInt(hex, true)와 같습니다
parseHexToFloat
섹션 제목: “parseHexToFloat”16진수 문자열을 float(IEEE 754)로 파싱합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
hex | String | 16진수 문자열 |
bigEndian | boolean | 선택 사항. 빅 엔디언 바이트 순서(기본값: true) |
반환: float — 파싱한 float 값.
parseHexToFloat("41EA62CC"); // 29.29824parseHexToFloat("41EA62CC", true); // 29.29824parseHexToFloat("41EA62CC", false); // -5.948442E7parseHexToFloat("CC62EA41", false); // 29.29824별칭:
parseLittleEndianHexToFloat(hex)—parseHexToFloat(hex, false)와 같습니다parseBigEndianHexToFloat(hex)—parseHexToFloat(hex, true)와 같습니다
parseHexIntLongToFloat
섹션 제목: “parseHexIntLongToFloat”16진수 문자열을 일반 정수 값으로 해석해 float로 돌려줍니다.
parseHexToFloat와 달리 IEEE 754 비트 해석을 쓰지 않습니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
hex | String | 16진수 문자열(0x 접두사 포함 가능) |
bigEndian | boolean | 빅 엔디언 바이트 순서 |
반환: float — float로 나타낸 정수 값.
parseHexIntLongToFloat("0x0A", true); // 10.0parseHexIntLongToFloat("0x0A", false); // 10.0parseHexIntLongToFloat("0x00000A", true); // 10.0parseHexIntLongToFloat("0x0A0000", false); // 10.0parseHexIntLongToFloat("0x000A0A", true); // 2570.0parseHexIntLongToFloat("0x0A0A00", false); // 2570.0parseHexToDouble
섹션 제목: “parseHexToDouble”16진수 문자열을 double(IEEE 754)로 파싱합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
hex | String | 16진수 문자열 |
bigEndian | boolean | 선택 사항. 빅 엔디언 바이트 순서(기본값: true) |
반환: double — 파싱한 double 값.
parseHexToDouble("409B04B10CB295EA"); // 1729.1729parseHexToDouble("409B04B10CB295EA", true); // 1729.1729parseHexToDouble("409B04B10CB295EA", false); // -2.7208640774822924E205parseHexToDouble("EA95B20CB1049B40", false); // 1729.1729별칭:
parseLittleEndianHexToDouble(hex)—parseHexToDouble(hex, false)와 같습니다parseBigEndianHexToDouble(hex)—parseHexToDouble(hex, true)와 같습니다
16진수와 바이트 변환
섹션 제목: “16진수와 바이트 변환”hexToBytes
섹션 제목: “hexToBytes”16진수 문자열을 바이트 값 리스트로 바꿉니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
hex | String | 16진수 문자열 |
반환: List — 부호 있는 바이트 값 리스트(-128~127).
hexToBytes("D8FF"); // [-40, -1]hexToBytesArray
섹션 제목: “hexToBytesArray”16진수 문자열을 바이트 배열로 바꿉니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
hex | String | 16진수 문자열 |
반환: int[] — 바이트 배열.
bytesToHex
섹션 제목: “bytesToHex”바이트 리스트를 16진수 문자열로 바꿉니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
bytesList | List | 바이트 값 리스트 |
반환: String — 16진수 문자열.
바이트 파싱
섹션 제목: “바이트 파싱”parseBytesToInt
섹션 제목: “parseBytesToInt”바이트 리스트를 정수로 파싱합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
bytesList | List | 바이트 값 리스트 |
bigEndian | boolean | 선택 사항. 빅 엔디언 바이트 순서(기본값: true) |
반환: int — 파싱한 정수.
parseBytesToInt([0xBB, 0xAA]); // 48042parseBytesToInt([0xBB, 0xAA], true); // 48042parseBytesToInt([0xAA, 0xBB], false); // 48042parseBytesToLong
섹션 제목: “parseBytesToLong”바이트 리스트를 long 값으로 파싱합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
bytesList | List | 바이트 값 리스트 |
bigEndian | boolean | 선택 사항. 빅 엔디언 바이트 순서(기본값: true) |
반환: long — 파싱한 long 값.
parseBytesToFloat
섹션 제목: “parseBytesToFloat”바이트 리스트를 float(IEEE 754)로 파싱합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
bytesList | List | 바이트 값 리스트 |
bigEndian | boolean | 선택 사항. 빅 엔디언 바이트 순서(기본값: true) |
반환: float — 파싱한 float 값.
parseBytesIntToFloat
섹션 제목: “parseBytesIntToFloat”바이트 리스트를 정수로 해석해 float로 돌려줍니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
bytesList | List | 바이트 값 리스트 |
bigEndian | boolean | 선택 사항. 빅 엔디언 바이트 순서(기본값: true) |
반환: float — float로 나타낸 정수 값.
parseBytesLongToDouble
섹션 제목: “parseBytesLongToDouble”바이트 리스트를 long 값으로 해석해 double로 돌려줍니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
bytesList | List | 바이트 값 리스트 |
bigEndian | boolean | 선택 사항. 빅 엔디언 바이트 순서(기본값: true) |
반환: double — double로 나타낸 long 값.
bytesToExecutionArrayList
섹션 제목: “bytesToExecutionArrayList”바이트 리스트를 ExecutionArrayList(TBEL 내부 리스트 유형)로 바꿉니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
bytesList | List | 바이트 값 리스트 |
반환: List — 실행 배열 리스트.
2진 배열
섹션 제목: “2진 배열”parseByteToBinaryArray
섹션 제목: “parseByteToBinaryArray”바이트 하나를 원소 8개짜리 2진 배열로 바꿉니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
b | int | 바이트 값 하나 |
반환: int[] — 2진 숫자 8개(0 또는 1)의 배열.
parseByteToBinaryArray(0xFF); // [1, 1, 1, 1, 1, 1, 1, 1]parseByteToBinaryArray(0x00); // [0, 0, 0, 0, 0, 0, 0, 0]parseBytesToBinaryArray
섹션 제목: “parseBytesToBinaryArray”바이트 리스트를 2진 배열로 바꿉니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
bytesList | List | 바이트 값 리스트 |
반환: int[] — 2진 배열(바이트당 8비트).
parseBytesToBinaryArray([0xFF, 0x00]);// [1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]parseLongToBinaryArray
섹션 제목: “parseLongToBinaryArray”long 값을 원소 64개짜리 2진 배열로 바꿉니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
value | long | long 값 |
반환: int[] — 2진 숫자 64개의 배열.
parseLongToBinaryArray(255L);// [0,0,...,0, 1,1,1,1,1,1,1,1] (56 zeros followed by 8 ones)parseBinaryArrayToInt
섹션 제목: “parseBinaryArrayToInt”2진 배열을 정수로 바꿉니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
binaryArray | int[] | 2진 숫자(0과 1) 배열 |
반환: int — 파싱한 정수.
parseBinaryArrayToInt([1, 1, 1, 1, 1, 1, 1, 1]); // 255parseBinaryArrayToInt([0, 0, 1, 1, 1, 0, 1, 0]); // 58숫자 파싱
섹션 제목: “숫자 파싱”parseInt
섹션 제목: “parseInt”문자열을 정수로 파싱합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
str | String | 파싱할 문자열 |
반환: int — 파싱한 정수.
parseInt("123"); // 123parseLong
섹션 제목: “parseLong”문자열을 long 값으로 파싱합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
str | String | 파싱할 문자열 |
반환: long — 파싱한 long 값.
parseLong("9223372036854775807"); // 9223372036854775807parseFloat
섹션 제목: “parseFloat”문자열을 float 값으로 파싱합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
str | String | 파싱할 문자열 |
반환: float — 파싱한 float 값.
parseFloat("3.14"); // 3.14parseDouble
섹션 제목: “parseDouble”문자열을 double 값으로 파싱합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
str | String | 파싱할 문자열 |
반환: double — 파싱한 double 값.
parseDouble("3.141592653589793"); // 3.141592653589793비트 연산
섹션 제목: “비트 연산”TBEL은 Java에서 물려받은 표준 비트 연산자를 지원합니다.
| 연산자 | 설명 | 예시 |
|---|---|---|
& | AND | 0xFF & 0x0F → 0x0F |
| | OR | 0xF0 | 0x0F → 0xFF |
^ | XOR | 0xFF ^ 0x0F → 0xF0 |
~ | NOT(보수) | ~0x00 → -1 |
<< | 왼쪽 시프트 | 1 << 8 → 256 |
>> | 부호 있는 오른쪽 시프트 | -256 >> 4 → -16 |
>>> | 부호 없는 오른쪽 시프트 | -1 >>> 28 → 15 |
var a = 0xFF;var b = 0x0F;var andResult = a & b; // 15 (0x0F)var orResult = a | b; // 255 (0xFF)var xorResult = a ^ b; // 240 (0xF0)var shifted = 1 << 8; // 256Base64 변환
섹션 제목: “Base64 변환”base64ToHex
섹션 제목: “base64ToHex”Base64로 인코딩된 문자열을 16진수 문자열로 바꿉니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
base64Str | String | Base64로 인코딩된 문자열 |
반환: String — 16진수 문자열.
base64ToHex("SGVsbG8gV29ybGQ="); // "48656C6C6F20576F726C64"bytesToBase64
섹션 제목: “bytesToBase64”바이트 리스트를 Base64 문자열로 바꿉니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
bytesList | List | 바이트 값 리스트 |
반환: String — Base64로 인코딩된 문자열.
bytesToBase64([72, 101, 108, 108, 111]); // "SGVsbG8="base64ToBytes
섹션 제목: “base64ToBytes”Base64 문자열을 바이트 리스트로 바꿉니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
base64Str | String | Base64로 인코딩된 문자열 |
반환: List — 바이트 값 리스트.
base64ToBytes("SGVsbG8gV29ybGQ=");// [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]base64ToBytesList
섹션 제목: “base64ToBytesList”base64ToBytes의 별칭입니다.
JSON 평탄화
섹션 제목: “JSON 평탄화”toFlatMap
섹션 제목: “toFlatMap”중첩된 JSON 구조를 한 단계 맵으로 평탄화합니다. 중첩된 키는 점으로 이어집니다.
오버로드 1 — 기본 평탄화:
var json = {"temperature": 42, "nested": {"humidity": 73}};toFlatMap(json);// {"temperature": 42, "nested.humidity": 73}오버로드 2 — pathInKey 플래그 사용:
| 매개변수 | 형식 | 설명 |
|---|---|---|
json | Object | JSON 객체나 문자열 |
pathInKey | boolean | true면 키에 전체 경로를 넣고, false면 마지막 키만 씁니다 |
var json = {"temperature": 42, "nested": {"humidity": 73}};toFlatMap(json, true); // {"temperature": 42, "nested.humidity": 73}toFlatMap(json, false); // {"temperature": 42, "humidity": 73}오버로드 3 — 제외 목록 사용:
| 매개변수 | 형식 | 설명 |
|---|---|---|
json | Object | JSON 객체나 문자열 |
excludeList | List | 평탄화에서 제외할 경로 |
var json = {"temperature": 42, "nested": {"humidity": 73, "pressure": 1013}};toFlatMap(json, ["pressure"]);// {"temperature": 42, "nested.humidity": 73}오버로드 4 — 제외 목록과 pathInKey 사용:
| 매개변수 | 형식 | 설명 |
|---|---|---|
json | Object | JSON 객체나 문자열 |
excludeList | List | 평탄화에서 제외할 경로 |
pathInKey | boolean | true면 키에 전체 경로를 넣습니다 |
var json = {"temperature": 42, "nested": {"humidity": 73, "pressure": 1013}};toFlatMap(json, ["pressure"], true);// {"temperature": 42, "nested.humidity": 73}날짜와 시간(tbDate)
섹션 제목: “날짜와 시간(tbDate)”Date 클래스로 날짜·시간을 만들고 계산합니다.
문자열로 날짜 만들기
섹션 제목: “문자열로 날짜 만들기”var date1 = new Date("2024-01-15");var date2 = new Date("15/01/2024", "dd/MM/yyyy");var date3 = new Date("15/01/2024", "dd/MM/yyyy", "en_US");var date4 = new Date("15/01/2024", "dd/MM/yyyy", "en_US", "UTC");| 매개변수 | 형식 | 설명 |
|---|---|---|
dateString | String | 파싱할 날짜 문자열 |
pattern | String | 선택 사항. 날짜 형식 패턴(예: dd/MM/yyyy) |
locale | String | 선택 사항. 로캘(예: en_US, fr_FR) |
timeZone | String | 선택 사항. 시간대(예: UTC, America/New_York) |
구성 요소로 날짜 만들기
섹션 제목: “구성 요소로 날짜 만들기”var date1 = new Date(2024, 1, 15);var date2 = new Date(2024, 1, 15, 14, 30, 45);var date3 = new Date(2024, 1, 15, "UTC");var date4 = new Date(2024, 1, 15, 14, 30, 45, "UTC");옵션 맵으로 날짜 만들기
섹션 제목: “옵션 맵으로 날짜 만들기”var options = { pattern: "yyyy-MM-dd HH:mm:ss", locale: "en_US", timeZone: "UTC"};var date = new Date("2024-01-15 14:30:45", options);날짜 연산
섹션 제목: “날짜 연산”각 메서드는 날짜를 그 자리에서 바꾸고 바뀐 날짜를 돌려줍니다.
var date = new Date(2024, 1, 15);date.addYears(1); // 2025-01-15date.addMonths(2); // 2025-03-15date.addWeeks(1); // 2025-03-22date.addDays(5); // 2025-03-27date.addHours(3); // 2025-03-27 03:00date.addMinutes(30); // 2025-03-27 03:30date.addSeconds(45); // 2025-03-27 03:30:45date.addMilliseconds(500); // 2025-03-27 03:30:45.500지오펜싱
섹션 제목: “지오펜싱”isInsidePolygon
섹션 제목: “isInsidePolygon”지리 좌표점이 다각형 경계 안에 있는지 확인합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
latitude | double | 점의 위도 |
longitude | double | 점의 경도 |
polygon | List | 다각형 꼭짓점을 정의하는 [latitude, longitude] 쌍의 리스트 |
반환: boolean — 점이 다각형 안에 있으면 true.
var polygon = [ [55.75, 37.61], [55.75, 37.62], [55.74, 37.62], [55.74, 37.61]];isInsidePolygon(55.745, 37.615, polygon); // trueisInsideCircle
섹션 제목: “isInsideCircle”지리 좌표점이 원 안에 있는지 확인합니다.
| 매개변수 | 형식 | 설명 |
|---|---|---|
latitude | double | 점의 위도 |
longitude | double | 점의 경도 |
centerLatitude | double | 원 중심의 위도 |
centerLongitude | double | 원 중심의 경도 |
radiusInKm | double | 원의 반지름(킬로미터) |
반환: boolean — 점이 원 안에 있으면 true.
isInsideCircle(55.745, 37.615, 55.75, 37.62, 1.5); // true (within 1.5 km)