문자열을 좀 더 효율적으로 다루기 위해서는, String
뿐만 아니라 Text
나 ByteString
도 다루어야 한다.
특히 기존의 library들도 Text
나 ByteString
을 적극적으로 사용하고 있기 때문에,
그 library들을 제대로 활용하기 위해서도 String
만 다룰수는 없다.
그런데, 이 Text
나 ByteString
은 String
과는 달리1 문자열을 꼭 UTF8로 다루지 않는다.
ByteString
은 문자열을 UTF8로 다루기 위해서는 utf8-string
이라는 library를 사용해야 한다.
그리고, Text
의 경우에는 내부적으로 UTF8나 UTF16으로 다룰 수는 있는데, 이건 그 program이 작동하는 system의 locale 설정에 따른다.