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

📄 readme.txt

📁 对于通用的嵌入式系统字处理单元,本模块化程序可以快速实现常用汉字编码(GB2312,GB18030,BIG5码,Unicode码)的相互转换,无需库函数.从而实现使用单汉字字库显现多内码.具体参见re
💻 TXT
📖 第 1 页 / 共 2 页
字号:
/***************************************************************************
*	函数名称:	Utf16TOBig5
*	函数功能	:	将Utf16编码的字符转换为GB18030编码
*	接口描述:
*				
*		输入参数:
*				pu16InputCode - 输入的Utf16编码字符的存储地址
*				pu8OutputCode - 供存放输出的BIG5编码字符的首地址
*				pu8OutputLen  - 供存放输出的BIG5编码字符字节数的地址

*		返回参数:CONVERT_OK - 转换成功  CONVERT_ERROR - 转换失败  
*				 转换成功时,输出的字符存放在pu8OutputCode,长度存放在pu8OutputLen
*
*	补充说明:
*****************************************************************************/

6)	S8 Utf8TOBig5(U8* pu8InputCode, U8 u8InputLen, U8* pu8OutputCode, U8* pu8OutputLen)
/***************************************************************************
*	函数名称:	Utf8TOBig5
*	函数功能	:	将Utf8编码的字符转换为BIG5编码
*	接口描述:
*				
*		输入参数:
*				pu8InputCode - 输入的Utf8编码字符的存储地址
*				u8InputLen   - 输入的Utf8编码字符的长度
*				pu8OutputCode - 供存放输出的BIG5编码字符的首地址
*				pu8OutputLen  - 供存放输出的BIG5编码字符字节数的地址

*		返回参数:CONVERT_OK - 转换成功  CONVERT_ERROR - 转换失败  
*				 转换成功时,输出的字符存放在pu8OutputCode,长度存放在pu8OutputLen
*
*	补充说明:
*****************************************************************************/

7) U16 SearchCodeTable(U16 unicodeKey)
/***************************************************************************
*	函数名称:	SearchCodeTable
*	函数功能	:	查表返回UTF16字符中对应4字节GB18030部分的后两字节
*	接口描述:
*				
*		输入参数:
*				unicodeKey - 输入的Utf16编码字符
*
*		返回参数:	
*				查表成功时 返回的两字节查询结果以BigEndian格式合成一个非零的U16数
*				 即所查询的GB18030编码第3字节对应返回值的高8位,第4字节对应低8位
*				查表失败时,返回值为0  
*
*	补充说明:  使用两分法查找
*****************************************************************************/

8) PC端转换程序的主函数
main()
/**********************************************************************
* 函数名称:main
* 功能描述: 
*			 改函数为带命令参数的命令convertCode.exe的主函数
*			 将根据输入的命令参数,转换一定编码的文件到另外一个编码文件
*
* 命令格式: convertCode 转换类型 输入文件 输出文件 
*			(如:convertCode UTF16_GB utftxt gbtxt)
*			  其中的转换类型有:(格式为 源编码_目标编码)
*					UTF16BE_GB		
*					UTF16LE_GB		
*					UTF8_GB		
*					BIG5_GB		
*					UTF16BE_BIG5	
*					UTF16LE_BIG5	
*					UTF8_BIG5		
*					GB_BIG5		
*
* 接口描述
*   输入参数: 
* 					argc  此值需为4,否则回显提示信息
* 					arg[],具体见命令格式
*				
*   返回参数: 0--转换成功  非0--转换出错
***********************************************************************/
即命令格式: 
convertCode (UTF16_GB/UTF16BE_GB/UTF8_GB/BIG5_GB/GB_BIG5/UTF16_BIG5/UTF8_BIG5) XXX(输入文件名) YYY(输出文件名)

4.项目移植
1) 实现常用汉字编码到GB18030编码的转换,移植到嵌入式系统固件,以便使用现有的GB18030字库
?	涉及文件为 ..\软件\X2GB.c
?	文件内部使用的宏
均为编码转换开关命名规则: _源码类型_目标嘛类型,其中GB表示GB18030码,如_GB_BIG5表示将GB18030编码转换为BIG5码
取值规则: 需要相应编码转换时将对应的宏定义为1,反之为0
#define _UTF16_GB		1
#define _UTF8_GB		1
#define _BIG5_GB		1

Big/Little ENDIAN	 编码选择:
#define _BIG_ENDIAN		0
#define _LITTLE_ENDIAN	1

?	针对某项目移植的接口函数
U8 convertCode(U8 u8cmd, U8* pu8InputCodeH, U8* pu8InputCodeL, U16* pu8OutputCode)
/***************************************************************************
*	函数名称:	convertCode
*	函数功能	:	在某项目中,将特定编码的字符转换为某专用转义的2字节GB18030编码
*	接口描述:
*				
*		输入参数:
*				U8 u8cmd  - 输入编码选项 , =1时表示 BIG5
*				pu8InputCodeH - 指针,指向输入的编码字符的高字节,但在UTF8情况下,pu8InputCodeH指向输入字节首地址,pu8InputCodeL里的值表示输入长度
*				pu8InputCodeL - 指针,指向输入的编码字符的低字节,但在UTF8情况下,pu8InputCodeL里的值表示输入长度
*				pu8OutputCode - 供存放输出的2字节GB18030编码字符的首地址
*
*		返回参数:CONVERT_OK - 转换成功  CONVERT_ERROR - 转换失败  
*				 转换成功时,输出的字符存放在pu8OutputCode,
*					同时因移植兼容性需要,(* pu8InputCodeH)与(* pu8InputCodeL)也被分别改为输出字符的高低字节
*
*		影响的参数:因移植兼容性需要,(* pu8InputCodeH)与(* pu8InputCodeL)被分别改写为输出字符的高低字节
*						
*
*	补充说明: 某项目使用压缩的GB18030大字库,四字节代码映射到0x4000~0x5982
*			  
*****************************************************************************/

2)实现常用汉字编码到BIG5编码的转换,移植到嵌入式系统固件,以便使用现有的BIG5字库
?	涉及文件为 ..\软件\X2BIG5.c
?	文件内部使用的宏
编码转换开关命名规则: _源码类型_目标嘛类型,其中GB表示GB18030码,如_GB_BIG5表示将GB18030编码转换为BIG5码
取值规则: 需要相应编码转换时将对应的宏定义为1,反之为0
#define _UTF16_BIG5		1
#define _UTF8_BIG5		1
#define _GB_BIG5		1
Big/Little ENDIAN	 编码选择:
#define _BIG_ENDIAN		0
#define _LITTLE_ENDIAN	1

?	针对某项目移植的接口函数
U8 convertCode2(U8 u8cmd, U8* pu8InputCodeH, U8* pu8InputCodeL, U16* pu8OutputCode)
/***************************************************************************
*	函数名称:	convertCode2
*	函数功能	:	在某项目中,将特定编码的字符转换为BIG5编码
*	接口描述:
*				
*		输入参数:
*				U8 u8cmd  - 输入编码选项 , =1时表示 GB18030->BIG5
*				pu8InputCodeH - 指针,指向输入的编码字符的高字节,但在UTF8情况下,pu8InputCodeH指向输入字节首地址,pu8InputCodeL里的值表示输入长度
*				pu8InputCodeL - 指针,指向输入的编码字符的低字节,但在UTF8情况下,pu8InputCodeL里的值表示输入长度
*				pu8OutputCode - 供存放输出的2字节编码字符的首地址
*
*		返回参数:CONVERT_OK - 转换成功  CONVERT_ERROR - 转换失败  
*				 转换成功时,输出的字符存放在pu8OutputCode,
*					同时因移植兼容性需要,(* pu8InputCodeH)与(* pu8InputCodeL)也被分别改为输出字符的高低字节
*
*		影响的参数:因移植兼容性需要,(* pu8InputCodeH)与(* pu8InputCodeL)被分别改写为输出字符的高低字节
*						
*****************************************************************************/



⌨️ 快捷键说明

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