gb2312与utf8的手动转换

在有些系统,系统函数无法提供转换功能, 比如有的gcc版本的iconv函数里就不支持gb2312,这种情况下只能手动转换

这里的gb是代码页936的, 下面的文章只负责处理汉字和基本字符.


首先将gb2312里所有的汉字都写到一个文件里


FILE *fp = fopen ( "d:\\22.txt", "w+b" );


for ( unsigned char i = 0xb0; i <=0xf7;i++)
{
for ( unsigned char j = 0xa1; j <=0xfe;j++)
{
fwrite ( &i,1,1,fp);
fwrite ( &j,1,1,fp);
}

}


完成后用vc打开, 另存为编码为 utf-8 65001无签名格式, 则文件变大 了2/3, 这是因为gb一个汉字2个字节, utf8是3个

在应用中, 使用方法如下:

1. 将另存后的文件读入一个uchar数组里

2. 对一个字符串进行转换

INPUT:str是gb的字符串

OUTPUT:str2是utf8的字符串

for ( int i = 0 ; i < strlen(str); i++ )
{
c1 = str[i];

if ( c1 <= 0x7f ) //一般字符
{
str2[n++] = c1;
}
else //汉字
{
c2 = str[i+1];

//汉字区从 0xb0区开始, 每个区有94个字
ptr = ( c1 - 0xb0 ) * 94 + c2 - 0xa1;
ptr *= 3;

str2[n++] = m_gb2312[ptr++];
str2[n++] = m_gb2312[ptr++];
str2[n++] = m_gb2312[ptr++];
i++;
}
}





### 回答1: GB2312 文件 UTF-8 工具是一种可以将采用 GB2312 编码的文件转换成采用 UTF-8 编码的工具。GB2312 是中国国家标准局发布的字符集编码,它包含了将汉字和一些符号编码成对应数字的规则。而 UTF-8 是一种常用的全球通用的字符编码规范,它能够表示全世界上所有的字符。 GB2312 文件 UTF-8 工具的作用是将原本使用 GB2312 编码的文件转换成使用 UTF-8 编码的文件,以便更好地支持国际化和跨平台的应用。这样可以解决在不同操作系统或软件中打开或处理中文文件时出现乱码问题。 这样的工具一般提供图形界面或命令行界面供用户操作,用户只需打开工具,选择需要转换的文件,然后选择转换成 UTF-8 编码,点击转换即可完成转换过程。转换过程中,工具会根据 GB2312 编码的规则,将每个字符转换成 UTF-8 编码对应的字节序列,并将转换结果保存到一个新的文件中。 使用 GB2312 文件 UTF-8 工具可以方便地处理中文文件的编码转换问题,让文件能够在更广泛的平台上被正确地打开和处理。此工具的出现极大地促进了中文文本在计算机系统中的交流和应用发展。 ### 回答2: GB2312文件UTF-8工具用于将使用GB2312字符编码的文本文件转换为使用UTF-8字符编码的文本文件。GB2312是中文字符集,而UTF-8是一种更加通用的字符编码,支持全球范围内的各种字符。 这个工具的原理是读取GB2312编码的文件,并将每个字符转换为UTF-8编码字符。转换过程中,需要将GB2312编码的字符映射到对应的UTF-8编码字符。由于GB2312和UTF-8字符集的字符编码方式不同,因此需要进行字符编码的转换。 在转换过程中,工具会逐个字符读取GB2312编码的文本文件,并判断每个字符的编码方式。通过对具体字符的识别和映射,工具可以将GB2312编码的字符转换为对应的UTF-8编码字符。最后,工具将转换后的字符按照UTF-8编码写入新的文本文件中。 使用GB2312文件UTF-8工具,可以有效解决在不同编码方式下文本文件显示乱码的问题。工具可以方便地将使用GB2312编码的文件转换为使用UTF-8编码的文件,使得文本内容能够正确地显示和处理。 需要注意的是,在使用工具进行转换时,应该先备份原始的GB2312编码文件,以防转换过程中的意外错误导致数据丢失。另外,工具在进行转换时,可能会遇到一些特殊字符无法正确映射的情况,需要手动处理这些特殊字符,以确保转换结果的准确性。 ### 回答3: GB2312文件为UTF-8的工具,通常可以通过以下步骤来完成。 首先,需要找到一款支持文件码的工具。目前有很多免费的文字编辑器或码工具可以实现这个功能,比如Notepad++、Sublime Text等。这些工具一般都支持多种编码格式的文件转换,包括GB2312和UTF-8。 安装和打开选择好的工具后,打开需要码的GB2312文件。 然后,在工具的菜单栏中选择“文件”或“打开”选项,浏览并选中需要码的文件。 接下来,选择“编码”或“码”菜单选项,一般位于“文件”菜单下方。 在码选项中,找到UTF-8编码格式,选择并确认码。 此时,工具会自动将GB2312文件转换为UTF-8编码格式,码完成后,可将文件另存为新的UTF-8文件。 完成上述步骤后,即可成功将GB2312文件转换为UTF-8编码格式的文件。 需要注意的是,码过程中可能会遇到乱码或不完全码的情况,这可能是因为文件中包含了一些无法识别或转换的特殊字符。此时,可以尝试使用其他码工具或查找其他解决方案来解决这个问题。同时,为了保证码结果的准确性,建议在码前备份原文件,以防出现意外情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值