zwilias/elm-utf-tools/2.0.1

String.UTF32

Need to work in unicode codepoints? Tired of UTF-8's silliness? You came to the right place!

length : String -> Int

Calculates the number UTF-32 characters in a String.

import String.UTF32 as UTF32


String.length "💩"
--> 2


UTF32.length "💩"
--> 1
toBytes : String -> List Int

Converts a String to a list of unicode codepoints. The inverse of toString

import String.UTF32 as UTF32


UTF32.toBytes "hello"
--> [ 0x68, 0x65, 0x6C, 0x6C, 0x6F ]


UTF32.toBytes "💩"
--> [ 0x0001F4A9 ]
toString : List Int -> String

Build a String from a list of unicode codepoints.

import String.UTF32 as UTF32


UTF32.toString [ 0x68, 0x65, 0x6C, 0x6C, 0x6F ]
--> "hello"


UTF32.toString [ 0x0001F4A9 ]
--> "💩"
foldl : (Int -> a -> a) -> a -> String -> a

Fold over a string, left to right, accumulating unicode codepoints.