⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unicode.h

📁 支持Unicode及Uniscribe的多语言输入的文本编辑器源码。
💻 H
字号:
#ifndef UNICODE_LIB_INCLUDED
#define UNICODE_LIB_INCLUDED

#ifdef __cplusplus
extern "C" {
#endif

// Define the basic types for storing Unicode 
typedef unsigned long	UTF32;	
typedef unsigned short	UTF16;	
typedef unsigned char	UTF8;	

// Some fundamental constants 
#define UNI_REPLACEMENT_CHAR (UTF32)0x0000FFFD
#define UNI_MAX_BMP			 (UTF32)0x0000FFFF
#define UNI_MAX_UTF16		 (UTF32)0x0010FFFF
#define UNI_MAX_UTF32		 (UTF32)0x7FFFFFFF
#define UNI_MAX_LEGAL_UTF32  (UTF32)0x0010FFFF

#define UNI_SUR_HIGH_START   (UTF32)0xD800
#define UNI_SUR_HIGH_END     (UTF32)0xDBFF
#define UNI_SUR_LOW_START    (UTF32)0xDC00
#define UNI_SUR_LOW_END      (UTF32)0xDFFF

#define SWAPWORD(val) (((UTF16)(val) << 8) | ((UTF16)(val) >> 8))

//
//	Conversions between UTF-8 and a single UTF-32 value
//
size_t	utf8_to_utf32(UTF8 *utf8str, size_t utf8len, UTF32 *pcp32);
size_t  utf32_to_utf8(UTF8 *utf8str, size_t utf8len, UTF32 ch32);

//
//	Conversions between UTF-16 and UTF-8 strings
//
size_t	utf8_to_utf16(UTF8 *utf8str,   size_t utf8len, UTF16 *utf16str, size_t *utf16len);
size_t  utf16_to_utf8(UTF16 *utf16str, size_t utf16len, UTF8 *utf8str,  size_t *utf8len);

//
//	Conversions between UTF-16 and UTF-32 strings
//
size_t  utf16_to_utf32(UTF16 *utf16str,   size_t utf16len, UTF32 *utf32str, size_t *utf32len);
size_t  utf32_to_utf16(UTF32 *utf32str,   size_t utf32len, UTF16 *utf16str, size_t *utf16len);
size_t	utf16be_to_utf32(UTF16 *utf16str, size_t utf16len, UTF32 *utf32str, size_t *utf32len);


//
//	Conversions between ASCII/ANSI and UTF-16 strings
//
size_t	ascii_to_utf16(UTF8 *asciistr,  size_t asciilen, UTF16 *utf16str, size_t *utf16len);
size_t  utf16_to_ascii(UTF16 *utf16str, size_t utf16len, UTF8  *asciistr, size_t *asciilen);

//
//	Miscallaneaous
//
size_t	copy_utf16(UTF16 *src, size_t srclen, UTF16 *dest, size_t *destlen);
size_t	swap_utf16(UTF16 *src, size_t srclen, UTF16 *dest, size_t *destlen);



#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -