Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

rambocoder/unistring

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#unistring

##Why Starting with Erlang R16B, string module in standard library handles Unicode utf-8 strings very well, except that string:to_upper/1 and string:to_lower/1 ignore unicode code points > 255.

Unistring library uses Lowercase Mapping, Uppercase Mapping and Titlecase Mapping columns hexadecimal values from UnicodeData.txt.

##License Public Domain

##API Unicode utf-8 functions for Erlang:

unistring:to_lower/1
unistring:to_upper/1
unistring:to_title/1

Input to functions can be in charlist() or unicode_binary() format.

charlist() is a list of unicode code points, such as: [50504,45397,54616,49464,50836] means "안녕하세요". unicode_binary() is a binary string with utf8 encoding, such as: <<236,149,136,235,133,149,237,149,152,236,132,184,236,154,148>> means "안녕하세요".

charlist() and unicode_binary() can be converted from one to another using the unicode module in Erlang R16B or later.

##Examples Make sure to start your erl shell with erl +pc unicode Make sure to add %% -*- coding: utf-8 -*- to the beginning of your *.erl source code files if you will be using unicode characters inside of quotes. If you are creating unicode binary strings, make sure to append /utf8 after the string's end quote mark inside of <<>> such as: ```<<"안녕하세요"/utf8>>.

%% unistring:to_lower/1

"test" = unistring:to_lower("TEST").
<<"test">> = unistring:to_lower(<<"TEST">>).
"привет" = unistring:to_lower("ПРИВЕТ").
<<"привет"/utf8>> = unistring:to_lower(<<"ПРИВЕТ"/utf8>>).

%% unistring:to_upper/1
"TEST" = unistring:to_upper("test").
<<"TEST">> = unistring:to_upper(<<"test">>).
"ПРИВЕТ" = unistring:to_upper("привет").
<<"ПРИВЕТ"/utf8>> = unistring:to_upper(<<"привет"/utf8>>).

##Note I don't really see the point of unistring:to_title/1 but it is included in this library for completeness.

About

Unicode utf-8 functions for Erlang

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.