<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'><div style="text-align: left;"><br></div><br><br><br><hr id="stopSpelling">&gt; Date: Sat, 29 Dec 2007 19:59:52 +0100<br>&gt; From: bram.degreve@bramz.net<br>&gt; To: shapelib@lists.maptools.org<br>&gt; Subject: Re: [Shapelib] Re: shapelib improvements<br>&gt; <br>&gt; Mateusz Loskot wrote:<br>&gt; &gt; As you say, UTF-16 is used *internally*. Actually, Java supports Unicode<br>&gt; &gt; in a *mess*, exposing Unicode in 3 or 4 different ways, including their<br>&gt; &gt; own modified version of UTF-8 encoding (brrr!).<br>&gt; &gt; So, actually, different components of Java use different standard,<br>&gt; &gt; for exmaple Data{Input|Output}Stream uses modified UTF-8,<br>&gt; &gt; OutputStreamWriter and InputStreamReader can use *any* encoding,<br>&gt; &gt; String can use *any* encoding, etc.<br>&gt; &gt;<br>&gt; &gt; For me, Java and Windows arguments are irrelevant here because Shapelib<br>&gt; &gt; does not use system specific API of any of the systems listed above.<br>&gt; &gt; Shapelib is just a data storage/transfer layer and as such, the only<br>&gt; &gt; portable and IMHO reasonable choice is UTF-8.<br>&gt; &gt; UTF-16 and UTF-32 make more troubles than it's worth.<br>&gt; &gt; UTF-8 is more natural choice because:<br>&gt; &gt; - UTF-8 works well with legacy platforms and clients that only<br>&gt; &gt;   support 8-bit characters<br>&gt; &gt; - UTF-8 is compatible with ASCII<br>&gt; &gt; - UTF-8 is more compact<br>&gt; &gt; - UTF-8 is byte oriented instead of word oriented<br>&gt; &gt; - UTF-8 is C strings friendly<br>&gt; &gt; - UTF-8 is more efficient (it depends on range of content)<br>&gt; &gt; - UTF-8 is compatible with all Unix systems as well as recommended in<br>&gt; &gt; standards and protocols like W3C, IETF, IMC, etc.<br>&gt; &gt;<br>&gt; &gt; All these suggest me that UTF-8 support easier to implement for highly<br>&gt; &gt; portable data storage software like Shapelib is.<br>&gt; &gt;<br>&gt; &gt;   <br>&gt; I'm working on an UTF-8 version of the IO hooks for shapelib for my work<br>&gt; on pyshapelib, though it is getting some delay as there are other issues<br>&gt; that need my limited spare time.<br>&gt; <br>&gt; Cheers,<br>&gt; Bramz<br><br>OK you guys have convinced me :) UTF-8 is the most portable and easiest to implement so we should go with that.<br>-Andy<br><br /><hr />Get the power of Windows + Web with the new Windows Live. <a href='http://www.windowslive.com?ocid=TXT_TAGHM_Wave2_powerofwindows_122007' target='_new'>Get it now!</a></body>
</html>