當前位置:首頁 » 編程語言 » c語言url如何判斷字元是中文
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言url如何判斷字元是中文

發布時間: 2022-12-08 10:48:18

『壹』 c語言中如何識別漢語

utf-8先轉unicode,然後判斷與127關系.
gbk系列判斷當前位元組<127則非中文,否則為中文,並跳過2位元組。
gbk編碼
if (*((BYTE*)str+i) > 0x80 && *((BYTE*)str+i+1) > 0x40)
\\ 中文.

『貳』 請教如何識別url中的中文,並把中文進行轉義

JavaScript中存在幾種對URL字元串進行編碼的方法:escape(),encodeURI(),以及encodeURIComponent()。這幾種編碼所起的作用各不相同。

escape() 方法:
採用ISO Latin字元集對指定的字元串進行編碼。所有的空格符、標點符號、特殊字元以及其他非ASCII字元都將被轉化成%xx格式的字元編碼(xx等於該字元在字元集表裡面的編碼的16進制數字)。比如,空格符對應的編碼是%20。
不會被此方法編碼的字元: @ * / +

encodeURI() 方法:
把URI字元串採用UTF-8編碼格式轉化成escape格式的字元串。
不會被此方法編碼的字元:! @ # $& * ( ) = : / ; ? + '

encodeURIComponent() 方法:
把URI字元串採用UTF-8編碼格式轉化成escape格式的字元串。與encodeURI()相比,這個方法將對更多的字元進行編碼,比如 / 等字元。所以如果字元串裡麵包含了URI的幾個部分的話,不能用這個方法來進行編碼,否則 / 字元被編碼之後URL將顯示錯誤。

不會被此方法編碼的字元:! * ( ) '

因此,對於中文字元串來說,如果不希望把字元串編碼格式轉化成UTF-8格式的(比如原頁面和目標頁面的charset是一致的時候),只需要使用 escape。如果你的頁面是GB2312或者其他的編碼,而接受參數的頁面是UTF-8編碼的,就要採用encodeURI或者 encodeURIComponent。
所以總結為:
如果你是 GB2312 編碼,使用 escape 函數

如果你是 UTF8 編碼 ,還可以使用 encodeURIComponent 函數

兼容 IE6 IE7 IE8 FF3.5

『叄』 c語言如何判斷字元串中有幾個中文,下面代碼意思

for(i=0;s[i];i++) //掃描整個字元串,s[i]就是s[i]!='\0',即未到串尾
if(s[i]<0) //漢字的ASCII碼屬於「擴展ASCII碼」,其每個字元的碼值大於127,由於字義的是char數組,每個元素的表示範圍為-128~+127,所以,大於127的字元在char中表現為負數。
i++,n++; //判斷為一個漢字,由於每個漢字占兩個位元組,所以這里先i+1,再記錄漢字數n也加1

『肆』 怎麼用C語言判斷數組裡面的字元是漢字還是其他。

漢字的國標碼的第一位是1,assic碼的第一位是0,可以根據這個性質檢測一下,用10000000&(數組某位),如果結果是10000000,則是國標碼,連續兩個就能拼成一個漢字了。

『伍』 在C語言里該怎樣用if語句去判斷輸入的中文字元的是否呢,請各位大神指點

可以使用 string.h 中的strcmp()函數來比較

比如:



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

intmain(void){
char*str[100];
gets(str);


if(strcmp(str,"你好")==0){
puts("兩個字元串相同");
}

puts("end");
returnEXIT_SUCCESS;
}

『陸』 C語言中如何判斷中文字元

測試過了,你看看怎麼樣吧
#include<stdio.h>
int main(void)
{
char s[20];
int i,j;
char a,c[3];
FILE * fp;
scanf("%s",s);
fp=fopen(s,"r");
if(!fp){
printf("open error\n");
return 1;
}
i=0;
c[2]='\0';
while((a=fgetc(fp))!=EOF){
if(a&0x80){
c[i]=a;
i++;
if(i==2){
printf("%s 是漢字\n",c);
i=0;
}
}
else i=0;
}
getchar();
getchar();
return 0;
}

『柒』 C語言編程中如何判斷一個字元是不是某個漢字,比如「我」。

一個漢字是兩個字元,因此需要使用字元串來判斷。

『捌』 如何在c語言的中文字元串中判斷是否存在特定的漢字

#include<stdio.h>
#include<string.h>
intmain()
{chars[200],s1[3];
inti;
printf("請輸入一串漢字:");
scanf("%s",s);
printf("請輸入要查找的一個漢字:");
scanf("%s",s1);
for(i=0;i<strlen(s);i+=2)
if(s[i]==s1[0]&&s[i+1]==s1[1])
{printf("您輸入的第%d個漢字是%s ",i/2+1,s1);
break;
}
if(i>=strlen(s))printf("未找到!");
return0;
}

『玖』 c語言如何判斷字元串中有幾個中文,下面代碼意思

or(i=0;s[i];i++)
//掃描整個字元串
if(s[i]<0)
//漢字的ASCII碼屬於「
擴展ASCII
碼,其每個字元的碼值大於127,由於字義的是char數組,每個元素的表示範圍為-128~+127,所以,大於127的字元在char中表現為負數。
i++,n++;
//判斷為一個漢字,由於每個漢字占兩個位元組,所以這里先i+1,再記錄漢字數n也加1

『拾』 C語言中如何判斷中文字元

這是跟漢字的存儲方式有關,西文字元用ASCII碼的話,一個位元組可以表示一個字元,而漢字用的是雙位元組表示一個漢字。
那麼,為了在機器內部區分ASCII碼和漢字機內碼,就規定漢字的兩個位元組的最高為都為1.

例如:漢字「啊」的漢字機內碼為B0A1H
表示成雙位元組是這樣的10110000 10100001

本程序用的就是判斷最高位的方法。

int is_zh_ch(char p)
{

if(~(p >> 8) == 0) 將p位元組進行移位運算,右移8位,這樣,如果移位後是0,則說明原來的位元組最高位為0,不是1那麼也就不是漢字的一個位元組。
{
return 0; //代表不是漢字
}

return -1;
}