Skip to content

beingmeta/libu8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

fddf4c4 · Jul 28, 2022
Nov 7, 2021
Jun 7, 2021
Jul 9, 2013
Nov 23, 2021
Nov 21, 2021
Jan 9, 2022
Feb 8, 2020
Apr 27, 2009
Feb 19, 2022
Feb 24, 2014
Nov 8, 2021
Jan 9, 2022
Feb 28, 2022
Apr 27, 2009
Jan 9, 2022
Jan 9, 2022
Jan 9, 2022
Aug 23, 2018
Nov 2, 2021
Feb 5, 2022
Feb 5, 2022
Jan 9, 2022
Jan 9, 2022
Jul 28, 2022
Jan 9, 2022
Aug 23, 2018
Jan 9, 2022
Aug 23, 2018
Jan 9, 2022
Jan 9, 2022
Jan 9, 2022
Jan 9, 2022
Dec 21, 2016
Jan 22, 2022
Jan 9, 2022
Jan 9, 2022
Jan 9, 2022
Jan 9, 2022
Nov 15, 2021
Dec 4, 2021
Jan 17, 2021
Jan 9, 2022
Jan 9, 2022
Jan 9, 2022
Jan 9, 2022
Jan 9, 2022
Jan 9, 2022
Jan 9, 2022
Jan 9, 2022
Jan 9, 2022
Jan 9, 2022
Jan 9, 2022
Jan 25, 2022
Jan 9, 2022
Jan 9, 2022
Apr 27, 2009
Apr 27, 2009
Mar 1, 2022

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.