17#define CHARSET_MAX_BYTES 6
21#define CHARSET_PROC_CHAR2INT charset_proc_char2int
22#define CHARSET_PROC_INT2CHAR charset_proc_int2char
48charset_none_char2int(
const unsigned char *in,
unsigned int *out)
56charset_utf8_char2int_inner(
const unsigned char *in,
unsigned int *out)
59 return charset_none_char2int(in, out);
64 return charset_none_char2int(in, out);
66 unsigned int code = in[0] & (0xff >> len);
67 for (
int i = 1; i < len; ++i)
70 if ((in[i] & 0xc0) != 0x80)
72 return charset_none_char2int(in, out);
81static inline unsigned int
84 unsigned int code = 0;
85 *pptr += proc ? proc(*pptr, &code)
86 : charset_utf8_char2int_inner(*pptr, &code);
int charset_utf8_char2int(const unsigned char *in, unsigned int *out)
Definition charset.c:120
const unsigned char CHARSET_UTF8_LUT[128]
Definition charset.c:97
void charset_getproc(int charset, CHARSET_PROC_CHAR2INT *char2int, CHARSET_PROC_INT2CHAR *int2char)
Definition charset.c:255
int charset_cp932_char2int(const unsigned char *in, unsigned int *out)
Definition charset.c:25
int charset_eucjp_int2char(unsigned int in, unsigned char *out)
Definition charset.c:78
#define CHARSET_PROC_CHAR2INT
Definition charset.h:21
@ CHARSET_EUCJP
Definition charset.h:12
@ CHARSET_UTF8
Definition charset.h:13
@ CHARSET_NONE
Definition charset.h:10
@ CHARSET_CP932
Definition charset.h:11
int charset_none_int2char(unsigned int in, unsigned char *out)
Definition charset.c:17
int(* charset_proc_char2int)(const unsigned char *, unsigned int *)
Definition charset.h:19
int(* charset_proc_int2char)(unsigned int, unsigned char *)
Definition charset.h:20
int charset_utf8_char2int(const unsigned char *in, unsigned int *out)
Definition charset.c:120
int charset_eucjp_char2int(const unsigned char *in, unsigned int *out)
Definition charset.c:61
#define CHARSET_PROC_INT2CHAR
Definition charset.h:22
int charset_utf8_int2char(unsigned int in, unsigned char *out)
Definition charset.c:126
int charset_detect_file(const char *path)
Definition charset.c:286
int charset_cp932_int2char(unsigned int in, unsigned char *out)
Definition charset.c:42