Skip to content

beingmeta/libu8

Repository files navigation

Welcome to libu8

libu8 is a portability and utility library written in modern C for Unix-based platforms. libu8 is licensed under the LGPL and the GPL version 2. You can find the source to libu8 on github.

libu8 is a portability and utility library written in modern C for Unix-based platforms. libu8 is licensed under the LGPL (V2.1) and GPL (V2) you can find the source on github. Detailed robodocs are available (generated by Doxygen).

libu8 provides:

  • string utilities for portably working with UTF-8 encodings and converting to and from a wide variety of other text encodings;

  • stream-based text I/O using UTF-8 internally but supporting automatic conversion to and from other encodings;

  • an extensible printf (u8_printf) function including output to strings;

  • extensible and customizable logging functions (using u8_printf);

  • wrappers for time-related functions allowing fine-grained times and specification of arbitrary time zones;

  • an exception handling library using setjmp/longjmp with unwinds and dynamic error catching;

  • signal handlers for turning signals into exceptions;

  • a client networking library for socket io, connection pools, and simple hostname lookup;

  • a server networking library for lightweight multi-threaded high-performance server implementation;

  • various hash and digest functions, including MD5, Google's cityhash, and various SHAx functions;

  • cryptographic function wrappers using local libraries;

  • a variety of file or URI path manipulation functions;

  • a wrapper for rusage() resource system calls;

  • wrappers for accessing file and directory contents and metadata;

  • support for lookup up and interpretation of named character entities;

libu8 is especially intended for software which uses UTF-8 internally but may interact with applications and services employing different character encodings. However, it has grown to provide a variety of other portable functions.

About

Portable utf-8 and general system library

Resources

Stars

Watchers

Forks

Packages

No packages published