package test;
public class MyInterview {
/**
* 将输入字符串按照字节长度截断, 输出前部分的子字符串. 字节长度计算方法为:ASCII码字符为1,非ASCII码字符为2
*
* @param s
* 输入字符串
* @param a
* 字节长度
* @return 输出字符串
*/
public static String test(String s, int a) {
int b = 0;//保存在截断时非ASCII码的个数
for (int i = 0; i < s.length(); i++) {
if ((s.charAt(i) & 0xFF80) != 0) {// 非ASCII码字符
b++;
}
if (b + i + 1 >= a) {//判断截断时机
return s.substring(0, i + 1);
}
}
return null;
}
/**
* 判断一个字符是否是汉字
*/
public static void test2() {
String str = "中国caaahin好好学习天天向上 sfssfssdf ese";// 用于测试的字符串
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
if (str.substring(i, i + 1).matches("[\u4e00-\u9fa5]")) {// 关键代码
System.out.println(str.charAt(i) + ",为汉字");
sb.append(str.charAt(i));// 选择所有的汉字并append到后面
} else {
System.out.println(str.charAt(i) + ",不为汉字");
}
}
System.out.println(sb.toString());
}
/**
* @param args
*/
public static void main(String[] args) {
for (int i = 1; i <= "好a12好s大家d好x1555".length() + 5; i++) {//+5是非ASCII码字符个数
String s = test("好a12好s大家d好x1555", i);
System.out.println("好a12好s大家d好x1555, " + i + "," + s);
}
test2();
}
}
分享到:
相关推荐
### 利用ASCII码判断中英文字符 在计算机科学领域,字符编码是非常基础且重要的一个概念。字符编码用于将各种符号、文字等信息转换为计算机能够识别的数据形式。其中,ASCII(American Standard Code for ...
5. 扩展ASCII码:标准ASCII码只能表示128个字符,对于其他语言或特殊字符(如希腊字母、汉字等)就无法覆盖。因此,很多系统采用了扩展ASCII码,增加了额外的位来支持更多的字符,如Windows系统中的ANSI编码。 6....
5. **实践应用**:在易语言编程中,ASCII码常用于字符串处理,比如判断字符是否为字母或数字,或者进行字符的加密解密。通过ASCII码,开发者可以更方便地进行字节级别的数据操作。 6. **扩展的Unicode和UTF-8**:...
例如,要将一个ASCII码转换为汉字,可以先将ASCII码转换为16进制的字符串,然后使用“汉字字符”函数将16进制字符串转化为汉字。相反,若要将汉字转换为ASCII码,可以使用“汉字编码”函数获取汉字的内码,再将这个...
Unicode包含了大量的非英语字符,如汉字、希腊字母等,而ASCII作为Unicode的子集,其前128个字符与ASCII码完全一致。因此,ASCII码仍然是现代计算机通信和编程中的基础元素。 了解ASCII码表有助于我们更好地理解和...
ASCII码在计算机科学领域扮演着至关重要的角色,它是早期计算机通信和文本处理的标准。 标题"ASCII的全码表.rar"暗示了压缩包内可能包含了一个完整的ASCII码表,这个表通常以表格的形式列出了所有128个ASCII字符...
在PLC(Programmable Logic Controller,可编程逻辑控制器)编程中,ASCII码同样有重要的作用。PLC通常用于工业自动化领域,用于控制各种机械设备。通过使用ASCII码,可以在PLC程序中实现对文本信息的处理,如显示...
ASCII码,全称为美国标准信息交换代码(American Standard Code for Information Interchange),是计算机系统中最基本的字符编码标准。这个编码系统定义了128个不同的字符,包括大小写字母、数字、标点符号以及一些...
需要注意的是,ASCII只能表示128个基本的字符,对于包含非ASCII字符(如汉字或其他语言字符)的字符串,使用这种转换方法可能会丢失信息,因此需要根据具体需求选择合适的数据编码方式,例如Unicode编码。
5. 条件判断和循环结构:在处理ASCII码时,经常需要用到条件判断(如IF语句)和循环结构(如WHILE或FOR循环),以便根据ASCII码执行不同的操作。例如,判断是否为字母、数字还是特殊字符。 6. 内部函数和API调用:...
在C语言中,我们经常需要处理ASCII码,例如判断字符是否为字母、数字,或者进行字符之间的比较和转换等操作。 总之,ASCII码作为信息交换的基础,对理解和编程有深远的影响。"ASCII 速查 v8.0 简体中文版"这一软件...
然而,需要注意的是,易语言处理中文字符时,由于中文字符通常占用两个字节(双字节字符),所以使用ASCII码进行判断并不准确。在易语言中,处理中文字符通常需要使用汉字码或者其他更适用于中文编码的函数,如GB...
易语言支持位运算,如“与”、“或”、“异或”、“非”等,可以用来处理ASCII码的特定位。 综上所述,"易语言源码判断ASCII编码.7z"提供的源代码可能包括了以上提到的各种技术,如字符串遍历、ASCII值检查、文件...
3. **字符判断**:在循环内部,使用“取字节”命令将当前字符转换为其ASCII码,然后判断这个ASCII码是否属于数字或字母的范围。对于数字,ASCII码范围是48('0'的ASCII码)到57('9'的ASCII码);对于大写字母,范围...
非汉字字符可能包括数字、字母和其他符号,它们可以直接使用ASCII码或者转换为16进制表示,这取决于你的具体需求。 总结来说,"VC++汉字转国标码(一个汉字变成2个16进制码)"涉及了以下几个关键点: 1. 汉字编码...
1、用ASCII码判断 在 ASCII码表中,英文的范围是0-127,而汉字则是大于127,具体代码如下: 代码如下:string text = “是不是汉字,ABC,柯乐义”; for (int i = 0; i < text> 127) Console.WriteLine(“是汉字”...
如果 ASCII 码大于 160,说明是中文字符,可以使用 substr() 函数截取汉字的第一个字符,然 后根据 ASCII 码来判断汉字的拼音。 4. 获取拼音首字母 获取拼音首字母可以使用 PHP 的内置函数 chr()。chr() 函数用于...
根据字符的Unicode值,判断其属于哪个范围,并计算对应的ASCII码。对于不同范围的字符,需要使用不同数量的字节来表示。计算完成后,将ASCII值加入结果字符串,并更新遍历的指针。最后,返回包含ASCII码的字符串。 ...
其中字符转换为ASCII码中,如果字符为汉字(即双字节) 可选择:正数、负数或者字节分离三种表示方式 利如汉字"中" 正数:54992 负数:-10544 字节分离:214,208 说明: 如果包含汉字字符,且选了负数或字节分离表示方式...
在处理ASCII编码时,可能需要编写函数来转换字符与ASCII码,或者判断一个数字是否为有效的ASCII码值。 5. **输入与输出**:易语言提供了丰富的输入输出函数,如“提示”用于显示信息,“接受”用于获取用户输入。在...