uni2ascii - Online in the Cloud

This is the command uni2ascii that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


uni2ascii - convert UTF-8 Unicode to various 7-bit ASCII representations

SYNOPSIS


uni2ascii [options] (<input file name>)

DESCRIPTION


uni2ascii converts UTF-8 Unicode to various 7-bit ASCII representations. If no format is
specified, standard hexadecimal format (e.g. 0x00e9) is used. It reads from the standard
input and writes to the standard output.

Command line options are:

-A List the single character approximations carried out by the -y flag.

-a <format>
Convert to the specified format. Formats may be specified by means of the following
arbitrary single character codes, by means of names such as "SGML_decimal", and by
examples of the desired format.

A Generate hexadecimal numbers with prefix U in angle-brackets (<U00E9>).

B Generate \x-escaped hex (e.g. \x00E9)

C Generate \x escaped hexadecimal numbers in braces (e.g. \x{00E9}).

D Generate decimal HTML numeric character references (e.g. &#0233;)

E Generate hexadecimal with prefix U (U00E9).

F Generate hexadecimal with prefix u (u00E9).

G Convert hexadecimal in single quotes with prefix X (e.g. X'00E9').

H Generate hexadecimal HTML numeric character references (e.g. &#x00E9;)

I Generate hexadecimal UTF-8 with each byte's hex preceded by an =-sign (e.g.
=C3=A9) . This is the Quoted Printable format defined by RFC 2045.

J Generate hexadecimal UTF-8 with each byte's hex preceded by a %-sign (e.g.
%C3%A9). This is the URI escape format defined by RFC 2396.

K Generate octal UTF-8 with each byte escaped by a backslash (e.g. \303\251)

L Generate \U-escaped hex outside the BMP, \u-escaped hex within the BMP
(U+0000-U+FFFF).

M Generate hexadecimal SGML numeric character references (e.g. \#xE9;)

N Generate decimal SGML numeric character references (e.g. \#233;)

O Generate octal escapes for the three low bytes in big-endian order(e.g.
\000\000\351))

P Generate hexadecimal numbers with prefix U+ (e.g. U+00E9)

Q Generate character entities (e.g. &eacute;) where possible, otherwise hexadecimal
numeric character references.

R Generate raw hexadecimal numbers (e.g. 00E9)

S Generate hexadecimal escapes for the three low bytes in big-endian order (e.g.
\x00\x00\xE9)

T Generate decimal escapes for the three low bytes in big-endian order (e.g.
\d000\d000\d233)

U Generate \u-escaped hexadecimal numbers (e.g. \u00E9).

V Generate \u-escaped decimal numbers (e.g. \u00233).

X Generate standard hexadecimal numbers (e.g. 0x00E9).

0 Generate hexadecimal UTF-8 with each byte's hex enclosed within angle brackets
(e.g. <C3><A9>).

1 Generate Common Lisp format hexadecimal numbers (e.g. #x00E9).

2 Generate Perl format decimal numbers with prefix v (e.g. v233).

3 Generate hexadecimal numbers with prefix $ (e.g. $00E9).

4 Generate Postscript format hexadecimal numbers with prefix 16# (e.g. 16#00E9).

5 Generate Common Lisp format hexadecimal numbers with prefix #16r (e.g. #16r00E9).

6 Generate ADA format hexadecimal numbers with prefix 16# and suffix # (e.g.
16#00E9#).

7 Generate Apache log format hexadecimal UTF-8 with each byte's hex preceded by a
backslash-x (e.g. \xC3\xA9).

8 Generate Microsoft OOXML format hexadecimal numbers with prefix _x and suffix _
(e.g. _x00E9_).

9 Generate %\u-escaped hexadecimal numbers (e.g. %\u00E9).

-B Transform to ASCII if possible. This option is equivalent to the combination cdefx.

-c Convert circled and parenthesized characters to their unenclosed counterparts.

-d Strip diacritics. This converts single codepoints representing characters with
diacritics to the corresponding ASCII character and deletes separately encoded
diacritics.

-e Convert characters to their approximate ASCII equivalents, as follows:
U+0085 next line 0x0A newline
U+00A0 no break space 0x20 space
U+00AB left-pointing double angle quotation mark 0x22 double quote
U+00AD soft hyphen 0x2D minus
U+00AF macron 0x2D minus
U+00B7 middle dot 0x2E period
U+00BB right-pointing double angle quotation mark 0x22 double quote
U+1361 ethiopic word space 0x20 space
U+1680 ogham space 0x20 space
U+2000 en quad 0x20 space
U+2001 em quad 0x20 space
U+2002 en space 0x20 space
U+2003 em space 0x20 space
U+2004 three-per-em space 0x20 space
U+2005 four-per-em space 0x20 space
U+2006 six-per-em space 0x20 space
U+2007 figure space 0x20 space
U+2008 punctuation space 0x20 space
U+2009 thin space 0x20 space
U+200A hair space 0x20 space
U+200B zero-width space 0x20 space
U+2010 hyphen 0x2D minus
U+2011 non-breaking hyphen 0x2D minus
U+2012 figure dash 0x2D minus
U+2013 en dash 0x2D minus
U+2014 em dash 0x2D minus
U+2018 left single quotation mark 0x60 left single quote
U+2019 right single quotation mark 0x27 right or neutral single
quote
U+201A single low-9 quotation mark 0x60 left single quote
U+201B single high-reversed-9 quotation mark 0x60 left single quote
U+201C left double quotation mark 0x22 double quote
U+201D right double quotation mark 0x22 double quote
U+201E double low-9 quotation mark 0x22 double quote
U+201F double high-reversed-9 quotation mark 0x22 double quote
U+2022 bullet 0x6F small letter o
U+2028 line separator 0x0A newline
U+2033 double prime 0x22 double quote
U+2039 single left-pointing angle quotation mark 0x60 left single quote
U+203A single right-pointing angle quotation mark 0x27 right or neutral single
quote
U+204E low asterisk 0x2A asterisk
U+2212 minus sign 0x2D minus
U+2216 set minus 0x5C backslash
U+2217 asterisk operator 0x2A asterisk
U+2223 divides 0x7C vertical line
U+2500 box drawing light horizontal 0x2D minus
U+2501 box drawing heavy horizontal 0x2D minus
U+2502 box drawing light vertical 0x7C vertical line
U+2503 box drawing heavy vertical 0x7C vertical line
U+2731 heavy asterisk 0x2A asterisk
U+275D heavy double turned comma quotation mark 0x22 double quote
U+275E heavy double comma quotation mark 0x22 double quote
U+3000 ideographic space 0x20 space
U+FE60 small ampersand 0x26 ampersand
U+FE61 small asterisk 0x2A asterisk
U+FE62 small plus sign 0x2B plus sign

-E List the expansions performed by the -x flag.

-f Convert stylistic variants to plain ASCII. Stylistic equivalents include:
superscript and subscript forms, small capitals (e.g. U+1D04), script forms (e.g.
U+212C), black letter forms (e.g. U+212D), fullwidth forms (e.g. U+FF01), halfwidth
forms (e.g. U+FF7B), and the mathematical alphanumeric symbols (e.g. U+1D400).

-h Help. Print the usage message and exit.

-l Use lowercase a-f when generating hexadecimal numbers.

-n Convert newlines too. By default, they are left alone.

-P Pass through Unicode rather than converting to ASCII escapes if the character is
not converted to an ASCII character by a transformation such as diacritic
stripping. Note that if this option is used the output may not be pure ASCII.

-p Pure. Convert characters within the ASCII range except for space and newline as
well as those above.

-q Quiet. Do not chat unnecessarily while working.

-s Convert space characters too. By default, they are left alone.

-S <Unicode:ASCII>
Define a custom substitution. The argument should consist of the Unicode codepoint
to be replaced followed by the ASCII code of the character to be used as
replacement, separated by a colon. If no ASCII code follows the colon, the
specified Unicode character will be deleted. The code values may be in
hexadecimal, octal, or decimal following the usual conventions (to be precise,those
of strtoul(3)). This option may be repeated as many times as desired to define
multiple substitutions.

-v Print program version information and exit.

-w Add a space after each converted item.

-x Expand certain characters to multicharacter sequences. The characters affected are
the same as those affected by the -y option.
U+00A2 CENT SIGN -> cent
U+00A3 POUND SIGN -> pound
U+00A5 YEN SIGN -> yen
U+00A9 COPYRIGHT SYMBOL -> (c)
U+00AE REGISTERED SYMBOL -> (R)
U+00BC ONE QUARTER -> 1/4
U+00BD ONE HALF -> 1/2
U+00BE THREE QUARTERS -> 3/4
U+00C6 CAPITAL LETTER ASH -> AE
U+00DF SMALL LETTER SHARP S -> ss
U+00E6 SMALL LETTER ASH -> ae
U+0132 LIGATURE IJ -> IJ
U+0133 LIGATURE ij -> ij
U+0152 LIGATURE OE -> OE
U+0153 LIGATURE oe -> oe
U+01F1 CAPITAL LETTER DZ -> DZ
U+01F2 MIXED LETTER Dz -> Dz
U+01F3 SMALL LETTER DZ -> dz
U+02A6 SMALL LETTER TS DIGRAPH -> ts
U+2026 HORIZONTAL ELLIPSIS -> ...
U+20AC EURO SIGN -> euro
U+22EF MIDLINE HORIZONTAL ELLIPSIS -> ...
U+2190 LEFTWARDS ARROW -> <-
U+2192 RIGHTWARDS ARROW -> ->
U+21D0 LEFTWARDS DOUBLE ARROW -> <=
U+21D2 RIGHTWARDS DOUBLE ARROW -> =>
U+FB00 LATIN SMALL LIGATURE FF -> ff
U+FB01 LATIN SMALL LIGATURE FI -> fi
U+FB02 LATIN SMALL LIGATURE FL -> fl
U+FB03 LATIN SMALL LIGATURE FFI -> ffi
U+FB04 LATIN SMALL LIGATURE FFL -> ffl
U+FB06 LATIN SMALL LIGATURE ST -> st

-y Convert certain characters having multi-character expansions to single-character
ascii approximations instead (e.g. to maintain character-positioning). The
characters affected are the same as those affected by the -x option.
U+00A2 CENT SIGN -> c
U+00A3 POUND SIGN -> #
U+00A5 YEN SIGN -> Y
U+00A9 COPYRIGHT SYMBOL -> C
U+00AE REGISTERED SYMBOL -> R
U+00BC ONE QUARTER -> -
U+00BD ONE HALF -> -
U+00BE THREE QUARTERS -> -
U+00C6 CAPITAL LETTER ASH -> A
U+00DF SMALL LETTER SHARP S -> s
U+00E6 SMALL LETTER ASH -> a
U+0132 LIGATURE IJ -> I
U+0133 LIGATURE ij -> i
U+0152 LIGATURE OE -> O
U+0153 LIGATURE oe -> o
U+01F1 CAPITAL LETTER DZ -> D
U+01F2 MIXED LETTER Dz -> D
U+01F3 SMALL LETTER DZ -> d
U+02A6 SMALL LETTER TS DIGRAPH -> t
U+2026 HORIZONTAL ELLIPSIS -> .
U+20AC EURO SIGN -> E
U+22EF MIDLINE HORIZONTAL ELLIPSIS -> .
U+2190 LEFTWARDS ARROW -> <
U+2192 RIGHTWARDS ARROW -> >
U+21D0 LEFTWARDS DOUBLE ARROW -> <
U+21D2 RIGHTWARDS DOUBLE ARROW -> >

-Z <format>
Generate output using the supplied format. The format specified will be used as the
format string in a call to printf(3) with a single argument consisting of an
unsigned long integer. For example, to obtain the same output as with the -U flag,
the format would be: \u%04X.

If conversion of spaces is disabled (as it is by default), if space characters outside the
ASCII range are encountered (U+3000 ideographic space, U+1351 Ethiopic word space, and
U+1680 ogham space mark), they are replaced with the ASCII space character (0x20) so as to
keep the output pure 7-bit ASCII.

Note that XML and XHTML numeric character entities are like those of HTML with two
restrictions. First, in X(HT)ML the terminating semi-colon may not be omitted. Second, in
X(HT)ML the "x" must be lower-case, while in HTML it may be either upper- or lower-case.
We always generate the terminating semi-colon and use a lower-case "x", so the option
dubbed "HTML" produces valid XML and XHTML as well.

EXIT STATUS


The following values are returned on exit:

0 SUCCESS
The input was successfully converted.

2 I/O ERROR
A system error ocurred during input or output.

3 INFO The user requested information such as the version number or usage synopsis and
this has been provided.

5 BAD OPTION
An incorrect option flag was given on the command line.

8 BAD RECORD
Ill-formed UTF-8 was detected in the input.

Use uni2ascii online using onworks.net services



Latest Linux & Windows online programs