detecting character set of an XML doc

Rick Jelliffe ricko at
Thu Jun 17 19:40:35 BST 1999

From: Dirk Germonpre <dirkg at>

> If I'm writing an XML tool, how can I detect what character set is
used for
an XML document? I've read that for UTF-16, an encoding signature
is used at the beginning of the document. Is there a different encoding
signature for each character set? If so, where can I find documentation

Character sets are determined by a sequence. First, the character family
(signature) is detected:
    * UTf-16 little-endian (from the BOM)
    * UTF-16 big-endian (from the BOM)
    * EBCDIC family
    * ASCII family
Then the encoding declaration is read, enough to read in the encoding

> Where can I find encoders and decoders for C++ to convert to and from

Try GNU libc's iconv() routine if you need a transcoding routines. That
is available free.

Rick Jelliffe

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list