mbconv - Character encoding scheme converter


  mbconv [options] <file> ...


This is an application of a library to handle multiple octets character encoding:

mainly written for debugging of the library.

It reads octet by octet from files given on command line (or standard input if no file is specified), converts character encoding scheme (CES) as specified by command line options (described below), and output to standard output (or a file specified by -t option or -a option).


-?, -h, --help

display summary of options and exits.

-a file, --append-to=file

output is appended to file.

-c converters, --convert-to=converters

specifies character encoding conversion. converters must be comma separated list of words described in Conversion specifiers.

-f flags, --flag=flags

specifies flags to change behavior of conversion. flags must be comma separated list of words describe in Flag specifiers.

-i, --input

succeeding options apply to input stream.

-m string, --mime-charset=string

mime encoding conforming to RFC2047 is performed. <string> is used as charset name.

-n, --line-number

line number (>= 1) is inserted to beginning of each line.

-o, --output

succeeding options apply to output stream.

-t file, --to=file

output to file (truncated).

-w, --width

output width of each line.

-cs <string>, --charset=string

specifies charset name. Some language specifications are also accepted as well as MIME charset names, which are used to restrict candidates of encoding scheme of input stream. Acceptable languages are listed in Acceptable languages.


specifies output format


output charset name of each input stream to stderr, in the form

file name: charset name

if two or more files are specifed on the command line, or

charset name


--regex=regular expression

specifies regeular expression to filter output. Character encoding of regular expression can be specified by putting string of the form

*charset name*

at the beginning of the regular expression, otherwise UTF-8. Character encoding of the expression is converted to that of output stream before matching.

Conversion specifiers

Conversion is applied just before each character is output to stream. Conversion setup is automatically performed based on CES. So in most cases, yo need not to specify converters explicitly.


domestic ASCII converted to US-ASCII,


converted appropriately according to the CES bound to input/output stream,


converted to Unicode,

f2h, full-to-half

Fullwidth compatibility characters are converted to corresponding halfwidth ones,

h2f, half-to-full

Halfwidth compatibility characters are converted to corresponding fullwidth ones,


Codepoints in JIS C 6226 or in JIS X 0208 which are bound to no character are converted into JIS X 0213 plane 1,


All codepoints in JIS C 6226 or in JIS X 0208 are converted into JIS X 0213 plane 1,


Unicode characters of code point between 0x80 and 0x9F (both inclusive) are converted to other Unicode characters as if they are characters of those code point in Microsoft Windows Codepage 1252.

ucs-to-jis0208-extra, jis0208-to-ucs-extra

Converters between some JIS X 0208 and Unicode characters having similar glyphs (by the courtesy of Ambrose Li <>).

Flag specifiers

use-0x28-for-94x94inG0, 28

use ``1/11 2/4 2/8 F'' instead of ``1/11 2/4 F'' to designate charsets with final octet 4/0, 4/1, or 4/2 to G0,

ac, ascii-at-control

escape sequence ``1/11 2/8 4/2'' is output before every control character,

nossl, ignore-7bit-single-shift

escape sequence for 7 bit single shift is ignored,

dnc, discard-notprefered-char

discard characters which CES bound to output stream can not decode.

Acceptable languages

The following words may be given instead of MIME charset name for input stream. In that case, encoding scheme is automatically detected (hopefully) among succeeding ones.

c, cn, china, chinese

x-gb-18030-2000, cn-big5, utf-8, or x-euc-tw.

j, ja, jp, japan, japanese

euc-jp, shift_jis, or utf-8.

k, ko, kr, korea, korean

euc-kr, x-johab, utf-8, or x-unified-hangul.


iso-8859-1, x-gb-18030-2000, cn-big5, x-euc-tw, euc-jp, shift_jis, euc-kr, x-johab, x-unified-hangul, or utf-8.


Kiyokazu SUTO <>


This program is distributed with absolutely no warranty.

Anyone can use, modify, and re-distibute this program without any restriction.