in reply to Re: How do I convert a sequence of hexes (D0 D6) to Chinese characters (中)?
in thread How do I convert a sequence of hexes (D0 D6) to Chinese characters (中)?
I'm not sure that's what the original poster needs. chr(0xD6D0) means Unicode code point U+D6D0 which is the character '훐'. Whereas the poster said the bytes represented by the ASCII string 'D6D0' are the character '中' in a 'GB' encoding. I'm not very knowledgeable about Asian encodings but I'll assume that the specific encoding is GB-2312.
So the things we need to do are:
Here's a complete script which does all of that:
#!/usr/bin/perl use strict; use warnings; use Encode qw(decode); my $ascii_hex = 'D6D0'; # continue for as many bytes as required my $bytes = pack('H*', $ascii_hex); my $character_string = decode('gb2312', $bytes); binmode(STDOUT, ':utf8'); print $character_string, "\n";
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^3: How do I convert a sequence of hexes (D0 D6) to Chinese characters (中)?
by kejohm (Hermit) on Jun 06, 2011 at 02:46 UTC | |
Re^3: How do I convert a sequence of hexes (D0 D6) to Chinese characters (中)?
by dstrom (Initiate) on Jun 06, 2011 at 19:14 UTC | |
by andal (Hermit) on Jun 07, 2011 at 08:54 UTC | |
by dstrom (Initiate) on Jun 07, 2011 at 09:05 UTC | |
by Anonymous Monk on Jun 07, 2011 at 10:18 UTC | |
by grantm (Parson) on Jun 13, 2011 at 11:36 UTC |