Need help with enca?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

nijel
231 Stars 46 Forks GNU General Public License v2.0 265 Commits 13 Opened issues

Description

Extremely Naive Charset Analyser

Services available

!
?

Need anything else?

Contributors list

# 7,465
PHP
MySQL
cython
phpmyad...
246 commits
# 270,381
C++
Linux
Raspber...
buildro...
3 commits
# 314,414
Shell
C
TeX
pcap-an...
1 commit
# 53,929
Ruby
circlec...
travis-...
droplet
1 commit
# 750,443
Shell
C
TeX
1 commit
# 314,555
whois-l...
sed
Linux
agda
1 commit
# 703,942
Shell
C
TeX
1 commit
# 174,219
Shell
C++
runc
iot-clo...
1 commit
# 673,579
C++
Shell
TeX
1 commit
# 57,397
python3
debian
dropbox
web-fon...
1 commit

Enca - guess and convert encoding of text files

build status codecov.io Coverity Scan Build Status Coverage Status

Copyright

Copyright (C) 2000-2003 David Necas (Yeti) [email protected]

Copyright (C) 2009-2016 Michal Cihar [email protected]

Description

Enca (Extremely Naive Charset Analyser) consists of two main components:

  • libenca, an encoding detection library. It currently supports Belarusian, Bulgarian, Croatian, Czech, Estonian, Hungarian, Latvian, Lithuanian, Polish, Russian, Slovak, Slovene, Ukrainian, Chinese, and some multibyte encodings independently on language. The API should be relatively stable (to be read as `it will either change only marginally, or very drastically').

  • enca, a command line frontend, integrating libenca and several charset conversion libraries and tools (GNU recode, UNIX98 iconv, perl Unicode::Map, cstocs).

Installation

Enca should compile and work on every POSIX.1 compliant system with ISO C compiler, and actually compiles on many noncompliant systems too (see below for list dependencies). If you have some of following additional tools, Enca can use them as external converters:

  • GNU recode and the associated recoding library
  • Perl charset converters Unicode::Map8 or Unicode::Map
  • cstocs, the famous Czech charset converter

Optional features:

  • Compilation of GNU recode library interface is controlled by

    --with-librecode[=DIR]
    ,
    --without-librecode
    configure parameters. It is compiled in by default when found. Optionally, you can specify a DIR; librecode include files will be then searched in DIR/include and the library itself in DIR/lib.
  • Compilation of UNIX98 iconv interface is controlled by

    --with-libiconv=[DIR]
    ,
    --without-libiconv
    configure parameters. It is compiled in by default when found and considered usable. Optionally, you can specify a DIR; libiconv include files will be then searched in DIR/include and the library itself in DIR/lib.
  • Compilation of interface to external converter programs is controlled by

    --enable-external
    ,
    --disable-external
    configure parameters. By default is is compiled in.

Don't even try to compile Enca on system not supporting following ISO C and POSIX features: * Function prototypes. * Basic ISO C headers and functions declared there: - assert.h, ctype.h, math.h, stdarg.h, stdio.h, stdlib.h - any (working) one of string.h, strings.h, memory.h - unistd.h, sys/stat.h, sys/types.h

For the impatient: Run

./configure
make
make check
make install

as usual.

License

Enca can be copied and/or modified under the terms of version 2 of GNU General Public License. Please see COPYING for details.

Web resources

Enca can be found at https://github.com/nijel/enca/, you can download tarballs from https://cihar.com/software/enca/.

Bugs

Report problems at https://github.com/nijel/enca/issues. Some known bugs have been collected in BUGS section of enca manual page.

Hacking (with) Enca

Please see TODO for list of things that should be fixed and features to be implemented and their priority and also for list of things that definitely shouldn't be implemented.

The file DEVELOP.md describes what needs to be done to add a new encoding or language to Enca.

The directory devel-docs/html contains Enca library API documentation in HTML form.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.