์ฝํ๋ฆฐ์์ ๋ฌธ์์ด์ ๋ฐ์ดํธ ์(ํฌ๊ธฐ)๋ฅผ ๊ตฌํ๋ ํ์ฅํจ์๋ฅผ ์๋์ ๊ฐ์ด ์ฝ๋์ ์ถ๊ฐํ์ฌ ์ฌ์ฉํ ์ ์๋ค.
val String.byteSize: Int
get() = toByteArray(Charsets.UTF_8).size
ํด๋์ค ์์ ๋์ง ์๊ณ ๋ฐ์ ๋์ด์ผ ์ฌ๋ฌ ํด๋์ค๋ค์์ ์ฌ์ฉ์ด ์ฉ์ดํ๋ค.
์์ธํ ์ค๋ช ์ ์๋์์ ์๊ฒ ๋ค.
toByteArray()
์ฝํ๋ฆฐ์ String ํด๋์ค์์ toByteArray()๋ผ๋ ๋ฉ์๋๋ฅผ ์ง์ํ๋ค.
๋ฌธ์์ด๋ก๋ถํฐ ByteArray๋ฅผ ์ถ์ถํ์์๋ ์ด ByteArray์ ํฌ๊ธฐ๊ฐ ๋ฌธ์์ด์ ๋ฐ์ดํธ ์์ด๋ค.
fun String.toByteArray(
charset: Charset = Charsets.UTF_8
): ByteArray
๊ธฐ๋ณธ ํ๋ผ๋ฏธํฐ๋ก๋ Charset ํด๋์ค๋ฅผ ๋ฐ๋๋ค. ๋ํดํธ๊ฐ์ UTF-8์ด๋ค.
๊ฐ์ ๋ฌธ์์ด์ด๋ผ๋ ์บ๋ฆญํฐ์ (์ธ์ฝ๋ฉ)์ ๋ฐ๋ผ ๋ฐ์ดํธ ์๊ฐ ๋ฌ๋ผ์ง๋ฏ๋ก ์บ๋ฆญํฐ์ ์ ์ ํํ๊ฒ ๋ฃ๋ ๊ฒ์ด ์ค์ํ๋ค.
Kotlin์์ ์ธ์ฝ๋ฉ๋ณ Charset ํด๋์ค ์ถ์ถํ๊ธฐ
์ธ์ฝ๋ฉ ๋ช | ๋ช ์ ๋ฐฉ๋ฒ (2๊ฐ์ง) |
ISO-8859-1 | Charsets.ISO_8859_1 charset("ISO-8859-1") |
US-ASCII | Charsets.US_ASCII charset("US-ASCII") |
UTF-8 | Charsets.UTF_8 charset("UTF-8") |
UTF-16 | Charsets.UTF_16 charset("UTF-16") |
UTF-16BE | Charsets.UTF_16BE charset("UTF-16BE") |
UTF-16LE | Charsets.UTF_16LE charset("UTF-16LE") |
์ฐธ๊ณ :
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/to-byte-array.html
https://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/charset.html
'studies > Back-end' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ํ์น(Apache) SSL(TLS) ์ง์ ๋ฒ์ ๋ณ๊ฒฝ ๋ฐฉ๋ฒ ๋ฐ SSL๊ณผ TLS์ ์ฐจ์ด์ (0) | 2024.06.15 |
---|---|
[Kotlin] IntelliJ kotlinx.coroutines ๋ชจ๋ Import ์๋จ ํด๊ฒฐ (0) | 2023.12.10 |
[MySQL] JSON ํ์ ์ฌ์ฉํด์ JSON Array ๋ค๋ฃจ๊ธฐ (0) | 2023.09.16 |
mac terminal vim / how to change readonly file (0) | 2022.01.26 |
[Kotlin] ์ฝํ๋ฆฐ ์ค์ฝํ ํจ์ ์ ๋ฆฌ (0) | 2022.01.19 |