ShiftJIS-X0213-MapUTF
view release on metacpan or search on metacpan
sjis0213_to_utf32le = 10
sjis0213_to_utf32be = 11
PREINIT:
SV *src, *dst, *cvref;
STRLEN srclen, dstlen, mblen, ulen;
U8 *s, *e, *p, *d, uni[UTF8_MAXLEN + 1];
UV uv, u_temp;
struct leading lb;
U8* (*app_uv)(U8*, UV);
int id_utf, use2004;
PPCODE:
use2004 = ix < NUM_toUTF;
id_utf = ix % NUM_toUTF;
STMT_ASSIGN_CVREF_AND_SRC(funcname_to[ix])
if (SvUTF8(src)) {
src = sv_mortalcopy(src);
sv_utf8_downgrade(src, 0);
}
STMT_ASSIGN_LENDST(maxlen_to[id_utf])
if (id_utf == 0)
utf16_to_sjis0213 = 14
utf32_to_sjis0213 = 15
PREINIT:
SV *src, *dst, *cvref;
STRLEN srclen, dstlen, retlen;
U8 *s, *e, *p, *d, mbc[3];
U16 j, *tbl_row, **tbl_plain;
UV uv, uv2;
UV (*ord_uv)(U8 *, STRLEN, STRLEN *);
int id_utf, use2004;
PPCODE:
use2004 = ix < NUM_fromUTF;
id_utf = ix % NUM_fromUTF;
STMT_ASSIGN_CVREF_AND_SRC(funcname_fm[ix])
if (id_utf == 0 && !SvUTF8(src)) {
src = sv_mortalcopy(src);
sv_utf8_upgrade(src);
}
else if (id_utf && SvUTF8(src)) {
src = sv_mortalcopy(src);
( run in 0.999 second using v1.01-cache-2.11-cpan-5511b514fd6 )