C程序 确定给定索引的Unicode代码点
Unicode是一种编码机制,为每个字符分配一个唯一的数字。前128个字符被分配为ASCII值意味着Unicode和ASCII值的前128个字符是一样的。前128个字符包含英文字母、数字、特殊字符等。ASCII值对大写英文字母和小写英文字母是不同的。
Types | Starting Value | Ending Value |
---|---|---|
Uppercase Alphabets | 65 | 90 |
Lowercase Alphabets | 97 | 122 |
从上表可以了解到,大写字母即’A’的起始值为65,在’Z’结束时为90。同样,小写字母’a’的数值为97,在’z’处结束为122。
C语言有一个 “char “数据类型到int的隐性映射,它使用这些Unicode值或ASCII值。
在C语言中,有2种方法来确定给定索引的unicode码位。
1.以 “int “数据类型存储后,返回索引的值。
2.使用for循环
1.以int数据类型存储后返回索引的值
下面是确定给定索引的Unicode码位的C++程序。
// C++ program to determine unicode
// code point at a given index
#include <stdio.h>
// Driver code
int main()
{
char arr[10] = "GeEkS";
int index1 = 0, index2 = 1,
index3 = 2, index4 = 3,
index5 = 4, code;
printf("The String is %s\n", arr);
code = arr[index1];
printf("The Unicode Code Point At %d is:%d\n",
index1, code);
code = arr[index2];
printf("The Unicode Code Point At %d is:%d\n",
index2, code);
code = arr[index3];
printf("The Unicode Code Point At %d is:%d\n",
index3, code);
code = arr[index4];
printf("The Unicode Code Point At %d is:%d\n",
index4, code);
code = arr[index5];
printf("The Unicode Code Point At %d is:%d\n",
index5, code);
return 0;
}
输出
The String is GeEkS
The Unicode Code Point At 0 is:71
The Unicode Code Point At 1 is:101
The Unicode Code Point At 2 is:69
The Unicode Code Point At 3 is:107
The Unicode Code Point At 4 is:83
- Time Complexity: O(n)
- 空间复杂度。O(2*n+1) = O(n)
2.使用for循环
如果字符串值增加,那么为索引声明一个单独的变量是不可行的。此外,如果字符串的大小减少,那么固定变量会产生越界错误。为了处理这些情况,我们将使用for循环来遍历字符串并打印相应的代码点。
下面是确定给定索引的unicode码位的C语言程序。
// C program to determine the unicode
// code point at a given index
#include <stdio.h>
// Driver code
int main()
{
char arr[10] = "GeEkS";
int code;
printf("The String is %s\n",
arr);
for (int i = 0; arr[i] != '\0'; i++)
{
code = arr[i];
printf("The Unicode Code Point At %d is:%d\n",
i, code);
}
return 0;
}
输出
The String is GeEkS
The Unicode Code Point At 0 is:71
The Unicode Code Point At 1 is:101
The Unicode Code Point At 2 is:69
The Unicode Code Point At 3 is:107
The Unicode Code Point At 4 is:83
- Time Complexity: O(n)
- Space Complexity: O(1)