buganini / bsdconv

A simple but powerful DSL for charset/encoding conversion and transformation, pure C implementation with no extra dependencies
https://bsdconv.io/bsdconv/
BSD 2-Clause "Simplified" License
53 stars 6 forks source link

Provide a iconv compatible API #20

Open Cloudef opened 4 years ago

Cloudef commented 4 years ago

I think this project would become more widely used if there was a additional library that provides iconv compatible api that you could link against to. I may do this at some point if you are not interested.

buganini commented 4 years ago

Hi, since iconv doen't not have the concept of unicode-unicode mapping (inter-mapping) at all, so I think the advantage of using bsdconv is small if interface is limited to iconv-like API.

If you just want to use specific decoder which doesn't exist in iconv, than I think the simpliest way is to create a iconv-like wrapper with conversion string table.

Cloudef commented 4 years ago

The main purpose of iconv api would not to be a main api, but rather way to use bsdconv as drop in replacement for programs that already use iconv API. (Lessening the burden of adopting bsdconv as no code changes would not be needed). This kind of wrapper could be done separately though and doesn't have to be part of bsdconv. Considering most projects only need the convert from encoding X to encoding Y functionality. While there is lots of iconv implementations, the most popular ones (GNU iconv and GLIBC iconv), are based on GPL license and their build system isn't as simple as bsdconv.

buganini commented 4 years ago

Hi, I have added you as project collaborator, please feel free to hack it :)