C语言字符串中的全角半角字符转换

发布时间:2024-08-29 21:35:39 作者:小樊
来源:亿速云 阅读:110

在C语言中,处理全角和半角字符转换的方法如下:

  1. 全角字符(全形字符):一般指的是中文、日文或韩文等字符集中的字符。这些字符通常占用两个字节(16位)的存储空间。
  2. 半角字符(半形字符):一般指的是英文字符集中的字符。这些字符通常占用一个字节(8位)的存储空间。

要实现全角和半角字符之间的转换,可以使用以下方法:

#include<stdio.h>
#include<string.h>

// 将半角字符转换为全角字符
void half_to_full(char *str) {
    int i;
    for (i = 0; str[i] != '\0'; i++) {
        if (str[i] >= 0x20 && str[i] <= 0x7E) {
            str[i] += 0xFEE0;
        }
    }
}

// 将全角字符转换为半角字符
void full_to_half(char *str) {
    int i;
    for (i = 0; str[i] != '\0'; i++) {
        if (str[i] >= 0xA1 && str[i] <= 0xDF) {
            str[i] -= 0x80;
        } else if (str[i] >= 0x8140 && str[i] <= 0x84BE) {
            str[i] -= 0xFEE0;
        }
    }
}

int main() {
    char str[] = "Hello, 世界!";
    printf("原始字符串: %s\n", str);

    half_to_full(str);
    printf("全角字符串: %s\n", str);

    full_to_half(str);
    printf("半角字符串: %s\n", str);

    return 0;
}

注意:这个示例仅适用于ASCII字符和GB2312编码的汉字。对于其他编码(如UTF-8、UTF-16等),需要使用相应的编码转换库(如iconv)进行转换。

推荐阅读:
  1. PostgreSQL安装及简单使用
  2. 数据类型和创建操作数据库

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c语言

上一篇:C语言字符串中的中英文字符分离

下一篇:C语言字符串中的字符集编码转换

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》