ascii 相关问题

基于英文字母排序的字符编码方案。 ASCII代表美国信息交换标准码。

x86 64 位 nasm 程序集 ascii 验证出现意外行为

我对汇编非常陌生,目前正在尝试编写一个程序,该程序使用用户指定的密钥和用户指定的内容执行凯撒加密。密钥和内容必须是 a-z o...

回答 1 投票 0

C++ 中的 ASCII Art 输出错误字符

我对编码有点陌生,并且在尝试将其添加到我的项目中时遇到了 ASCII 艺术问题。我认为问题是因为字符集或字符串。这是代码: #

回答 2 投票 0

如何在Java中将UTF-8转换为US-Ascii

我们有一个系统,客户(主要是欧洲客户)输入文本(UTF-8),必须分发到不同的系统,其中大多数接受 UTF-8,但现在我们还必须将文本分发到...

回答 10 投票 0

“ascii”编解码器无法解码位置 0 中的字节 0xef:序号不在范围内(128):BookNLP

我正在尝试在 Colab 中的 txt 文件上运行 BookNLP 模型,但我不断收到错误。 代码: input_file=“爱丽丝.txt” 输出目录=“爱丽丝” book_id=“爱丽丝” 书本LP。

回答 1 投票 0

如何在rust中从ascii解码? rust 的 String::from_utf8_lossy() 的类似物是什么?

我有以下代码: fn handle_client(mut 流: TcpStream) -> () { 让 mut 缓冲区 = [0;第4096章 Stream.read(&mut buffer).expect("读取失败"); 让path_request:Co...

回答 2 投票 0

如何在rust中从ascii解码? rust 的 String::from_ut8_lossy() 的类似物是什么?

我有以下代码: fn handle_client(mut 流: TcpStream) -> () { 让 mut 缓冲区 = [0;第4096章 Stream.read(&mut buffer).expect("读取失败"); 让path_request:Co...

回答 1 投票 0

这些“{”和“}”字符叫什么?

我只是想向我的一位刚刚开始编程的朋友解释 JavaScript 编程,我将“{”和“}”字符称为大括号(或方括号)。他笑了...

回答 3 投票 0

Colorama 弄乱了 ascii

我最近开始研究国际象棋程序。我编写了程序来获取我制作的二维数组,并使用 ascii 字符和 colorama 对其进行解码以形成棋盘。我将其编码为 R=...

回答 1 投票 0

在汇编8086 TASM中与TEA算法作斗争

我正在尝试用汇编语言(8086 TASM)实现TEA算法。然而,我在两个方面遇到了困难 字符串输入:我需要帮助来实现一种机制,以便我...

回答 1 投票 0

alt+8377(数字键盘)输入╣而不是 R,它应该根据在线显示的替代代码?

输入 Alt+8377 类型 ╣ 而不是 $,它应该根据在线文献输入。而且╣的ASCII/Alt码是Alt+185,Alt+185也能打出╣。 有人可以解释一下为什么这是一个...

回答 2 投票 0

如何在C中打印.txt中的CR和LF字符?

我有一个包含 100 行代码的 .txt 文件。将 fseek() 和 ftell() 函数提供的文件大小与字符数进行比较后,我观察到文件 si 存在 198 字节的差异...

回答 1 投票 0

将扩展 Ascii (>127) 转换为标准 Ascii (<128) in Java

我们从第三方系统接收符合 UTF-8 标准的数据。我们的系统可以处理它,因为它也兼容 UTF-8。问题是旧的下游系统不能总是处理带有

回答 1 投票 0

使用Python中的“rich”库将网络摄像头优化为ASCII的问题

这个代码是用Python编写的,如下所示 从 PIL 导入图像 从 rich.console 导入控制台 从 rich.text 导入文本 从 cv2 导入 imwrite,VideoCapture 从操作系统导入系统,南...

回答 1 投票 0

如何在网络上用其他语言书写数字?

我的网站有两种语言,英语和波斯语。当我使用波斯语并写一些数字时,该数字以英语显示 例如,当我用波斯语写 67 时,不幸的是......

回答 2 投票 0

ASCII 艺术问题

我需要您帮助开发一个处理 ASCII 艺术文本的程序。 程序必须以 ASCII 样式写入一个字母或单词作为输入。 问题是程序在 en...

回答 1 投票 0

在域名中包含非 ASCII 字符的电子邮件地址中使用 imap-tools 时出错

我使用 imap-tools 来访问我的电子邮件。 我的问题是,我正在尝试访问某人发送的电子邮件,该人的电子邮件包含 ø 等特殊字符,我无法正确编码,因为 from_ ac...

回答 1 投票 0

将特殊字符编码为字符串输入

我使用 imap-tools 来访问我的电子邮件。 我的问题是,我正在尝试访问某人发送的电子邮件,该人的电子邮件包含 ø 等特殊字符,我无法正确编码,因为 from_ ac...

回答 1 投票 0

为什么我无法使用 ASCII 值检查字符串中的特殊字符?

当我使用通过显式给出符号来检查字符串中的特殊字符的函数时,我的代码实际上运行得很好: int isSpecialCharacter(char str[], int n) { for(int i=0; i 当我使用通过显式给出符号来检查字符串中的特殊字符的函数时,我的代码实际上运行得很好: int isSpecialCharacter(char str[], int n) { for(int i=0; i<n;i++) { if (str[i] == '!' || str[i] == '@' || str[i] == '#' || str[i] == '$' || str[i] == '%' || str[i] == '^' || str[i] == '(' || str[i] == ')') { return 1; } return 0; } } 但是,在下面的代码中,我无法让我的代码使用 ASCII 值查找字符串中的特殊字符。我想了解我做错了什么。在下面的代码中,我还包含了我的main(),提示用户输入字符串。 #include <stdio.h> #include <string.h> char str[30][30]; char test[100]; int myindex = 0; int isSpecialCharacter(char str[], int n) { for(int i=0; i<n;i++) { if (str[i] == 33 || str[i] == 35 || str[i] == 36 || str[i] == 37 || str[i] == 40 || str[i] == 41 || str[i] == 64) { return 1; } return 0; } } int main() { printf("Please enter 10 strings below: \n"); while(myindex < 10) { printf("Enter string %d: ", myindex+1); fgets(str[myindex], 500, stdin); strcpy(test, str[myindex]); int t_size = strlen(test); if (strlen(str[myindex])<2||strlen(str[myindex])>26) { printf("Enter string that is between 2 and 25"); continue; } else if(isSpecialCharacter(test, t_size) == 1) { printf("Your string has some special characters. \n"); continue; } else { myindex++; } } return 0; } 编辑: 我已经包含了变量声明并替换了使用符号检查特殊字符的代码。谢谢你。 编辑2: 这些是我想要查找的字符::'!'、'@'、'#'、'$'、'%'、'^'、'(' 或 ')'。 没有空格。 您的两个函数都无法按照您编写的方式运行。 主要问题是 for 循环在每个循环周期后返回,因此您永远不会检查第一个周期之后的情况。 您应该将 return 0 语句移至函数末尾,然后它将按预期工作。 int isSpecialCharacter(char str[], int n) { for (int i = 0; i < n; i++) { if (str[i] == 33 || str[i] == 35 || str[i] == 36 || str[i] == 37 || str[i] == 40 || str[i] == 41 || str[i] == 64) { return 1; } } return 0; } 测试 我已经使用以下输入测试了该解决方案: test1 test2 test) test( test3 test4 test5 test@ test6 test7 test! test8 test9 test10 而且它有效。您可以在那里看到结果:https://godbolt.org/z/67Px14z75 正如评论部分中其他用户的建议,使用十进制值来引用字符是一种不好的做法™,您应该坚持使用 '@' 表示法。 您的return 0;不正确: int isSpecialCharacter(char str[], int n) { for(int i=0; i<n;i++) { if (str[i] == '!' || str[i] == '@' || str[i] == '#' || str[i] == '$' || str[i] == '%' || str[i] == '^' || str[i] == '(' || str[i] == ')') { return 1; } return 0; } } 在第一个循环中,您的函数返回 1 或 0。如果循环完成而没有找到您要查找的字符,您只想返回 0 (false)。 int isSpecialCharacter(char str[], int n) { for(int i=0; i<n;i++) { if (str[i] == '!' || str[i] == '@' || str[i] == '#' || str[i] == '$' || str[i] == '%' || str[i] == '^' || str[i] == '(' || str[i] == ')') { return 1; } } return 0; } 其他人注意到函数中 return 0; 的位置不正确。 使用全局变量不是必需的,并且可能会导致混乱。 正确:int main( void );错误:int main()。 深入挖掘: char str[30][30]; /* Skipping ahead */ printf("Enter string %d: ", myindex+1); fgets(str[myindex], 500, stdin); 不是有效的 C 程序。该代码展示了 UB。 不要在代码中使用(不正确的)“幻数”。 我不会尝试编写你的代码... if( isSpecialCharacter() ) 相当于: if( strpbrk( test, "abqmz" ) != NULL ) (除了后者已被证明有效...) 如果字符串中出现 'a'、'b'、'q'、'm' 或 'z',则 if 条件为真。 学习标准库,而不是花时间重新发明它。 旁白:你的函数名称应该是hasSpecialChars(),因为它扫描一个字符串。它不仅仅测试单个字符。 既然您已经解码了十进制 ASCII 值,那么经验丰富的程序员可能会如何编写该功能。 (不要指望读者必须通过打印的 ASCII 表来解码您的代码。将这个练习留给Mark Watney之类的人。) char spcl[] = "!@#$%^()"; if( strpbrk( test, spcl ) != NULL ) { /* Do something because condition is true */ 如果您需要在字符串中使 \ 或 " 变得特殊,则必须使用额外的反斜杠来 转义 这些字符。例如: char spcl[] = "\\!@#$%^(\")"; // notice '\\' and '\"" 如果这看起来太像“糟糕的语言”,您可以构造自己的字符串(确保(!)它以 null 结尾。) char spcl[] = { '\\', '!', '@', '#', '$', '%', '^', '(', '\"', ')', '\0' }; 故事的寓意:在字符串中搜索某个字符或一组字符中的一个是一种常见操作。花在“自己开发”上的时间应该花在学习和使用标准库的经过验证的函数套件上。这个问题及其几个答案是不需要的。 “return 0”位置不正确。 它应该在“for循环”结束之后出现

回答 4 投票 0

使用 Python 在 Maya 中打开 .ma 文件 (ASCII)?

我正在尝试在Python脚本末尾打开一个maya场景.ma, 路径如下所示:G:\ProjectPath\Scene.ma。 但我知道的唯一命令是 MEL 命令: 文件-f-选项“v=0;...

回答 2 投票 0

lua - string.byte 用于非 ascii 字符

我想将字符转换为数字代码,所以我尝试了string.byte(“å”)。然而,对于这类字符,string.byte()的返回值似乎是195; 有什么方法可以得到一个数字

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.