[parted-devel] [PATCH] GPT strings are UCS-2LE not UTF-16
H. Peter Anvin
hpa at zytor.com
Mon Mar 23 16:21:45 UTC 2015
On 03/23/2015 08:29 AM, Brian C. Lane wrote:
> On Sun, Mar 22, 2015 at 09:20:23PM -0400, Phillip Susi wrote:
>> On 03/21/2015 11:32 AM, H. Peter Anvin wrote:
>>> It isn't about the UEFI spec but rather what iconv expects. The
>>> string "UTF-16LE" produces littleendian UTF-16 without BOM.
>>
>> Right, and that is exactly what Brian said it should be, I believe
>> because the UEFI spec states that it is LE, so there is no need for
>> the BOM. What I'm not sure about is the difference between UCS-2 and
>> UTF-16.
>
> The UEFI spec is for UCS-2, and everything in GPT is stored in LE so
> that's what I used. Are you seeing a problem with the iconv_open call on
> some distributions?
>
The difference is that characters above U+FFFF are an error in UCS-2 but
uses surrogates in UTF-16. I believe falling back to surrogates is the
right thing to do, even if it is not 100% spec compliant.
-hpa
More information about the parted-devel
mailing list