Logo

maxdz Software GmbH

Eng | Ger
Home

Our Team

B2B Productskeyboard_arrow_down

mdz_ansikeyboard_arrow_down

mdz_unicodekeyboard_arrow_down

Downloads

Reference

mdz_vectorkeyboard_arrow_down

B2C Products

Legals

Contacts

mdz_unicode - very lightweight, versatile and speedy C library for handling Unicode strings. Source code of library is highly-portable, conforms to ANSI C 89/90 Standard.

Builds for Win32/Win64, Linux, FreeBSD, Android, macOS are available.

Please refer to mdz_unicode Wiki for API detais.

mdz_unicode Advantages

1. Very high portability: the whole code conforms to ANSI C 89/90 Standard. Multithreading/asynchronous part is POSIX compatible (under UNIX/Linux).

2. Very little dependencies: basically mdz_unicode functions are only dependend on standard C-library memory-management/access functions. Multithreading part is dependend on POSIX pthreads API (under UNIX/Linux) and old process control/synchronization API (from Windows 2000). It means you can use library in your code withouth any further dependencies except standard plattform libraries/APIs.

3. Extended error-checking: all functions preserve internal error-code pointing the problem. It is possible to use strict error-checking (when all preserved error-codes should be MDZ_ERROR_NONE) or "relaxed"-checking - when only returned mdz_false will indicate error.

4. Extended control: string do only explicit operations. It means for example, when "insert" function is called - it will return error if there is not enough capacity in string. No implicit reservations will be made.

5. Attached usage: string should not necessarily use dynamically-allocated memory - which may be not available on your embedded system (or if malloc()/free() are forbidden to use in you safety-critical software). Just attach string/data to your statically-allocated memory and use all string functionality.

6. Unicode support: UTF-8, UTF-16, UTF-32 are supported.

7. wchar_t support: also wchar_t strings are supported, with 2 and 4 bytes-large wchar_t characters.

8. Endianness-aware strings: utf16 and utf32 strings are endiannes-aware thus may be used to produce and manipulate strings with pre-defined endianness even if endianness of host differs.

9. Unicode "surrogate-pairs" awareness: 2-byte Unicode strings correctly process/distinguish "surrogate-pairs" as 1 Unicode symbol.

10. Asynchronous execution: insert functions can be executed asynchronously.

Copyright Ⓒ 2017 - 2020 maxdz Software GmbH. All rights reserved.
Site content generated by mdzWebSiteGenerator Ⓒ 2017 - 2020 maxdz Software GmbH. All rights reserved.