name mode size
.bootstrap 040000
dox 040000
mulle-project 040000
mulle-utf.xcodeproj 040000
research 040000
src 040000
templates 040000
tests 040000
unicode 040000
.first_patch 100644 0 kb
.gitignore 100644 1 kb
.travis.yml 100644 1 kb
CMakeDependencies.txt 100644 1 kb
CMakeLists.txt 100644 1 kb
CMakeSourcesAndHeaders.txt 100644 2 kb
LICENSE 100644 2 kb 100644 3 kb 100644 2 kb
<!-- [comment]: <> (DO NOT EDIT THIS FILE. EDIT THE TEMPLATE "templates/") --> # mulle-utf a C (C99) library to analyze and convert unicode strings. It also contains some limited `<string.h>` functionality for UTF16 and UTF32. And it contains some fairly extensive `<ctype.h>` functionality for UTF16 and UTF32 based on the Unicode 3.0.0 specification. It is the backbone of **NSString** and **NSCharacterSet**. Fork | Build Status | Release Version ----------|---------------|----------------------------------- [Mulle kybernetiK](// | [![Build Status](]( | ![Mulle kybernetiK tag]( [![Build Status](]( ## Encode strings as integers * **mulle_char5** is a compression scheme, that uses a set of 31 characters to encode strings into integers of varying sizes. This can be useful for small strings with typical Objective-C "keys" and small common mostly lowercase words. * **mulle_char7** is a compression scheme placing 7 bit ASCII characters into ints of varying sizes. A 64 bit integer can hold up to 8 characters. > Naming: UTF is a transfer encoding for Unicode. So everything eventually maps to (32 bit) unicode characters. That operations are done on UTF directly is kinda questionable, but I believe common. >> TODO (maybe): split this up into mulle_unicode, mulle_unitype, mulle_utf ## API File | Description --------------------------------------- | ---------------------------------------- [`mulle_char7`](dox/ | Encode small ASCII strings into integers [`mulle_char5`](dox/ | Encode some more smallish ASCII strings integers [`Conversion`](dox/ | Convert back and forth between UTF8, UTF16, UTF32, [`Information`](dox/ | Analyze and classify string encodings [`String`](dox/ | Primitive UTF16 and UTF32 string handling [`Ctype`](dox/ | `<ctype.h>` like functionality for UTF32 and UTF16 strings ## Install On OS X and Linux you can use [homebrew](//, respectively [linuxbrew](// to install the library: ``` brew tap mulle-kybernetik/software/mulle-utf ``` On other platforms you can use **mulle-install** from [mulle-build](// to install the library: ``` mulle-install --prefix /usr/local --branch release ``` Otherwise read: * [How to Build](dox/ ## Author [Nat!](// for [Mulle kybernetiK](// and [Codeon GmbH](//