草庐IT

US_ASCII

全部标签

c++ - 如何在 ASCII 艺术中匹配 ASCII 艺术片段?

我正在为一个编程竞赛练习,在这个竞赛中我可以选择使用Python还是C++来解决每个问题,所以我愿意接受任何一种语言的解决方案——无论哪种语言最适合这个问题。我遇到的过去问题的URL是http://progconz.elena.aut.ac.nz/attachments/article/74/10%20points%20Problem%20Set%202012.pdf,问题F(“map”)。基本上,它涉及在一个大的ASCII艺术中匹配一小段ASCII艺术的出现。在C++中,我可以为每一幅ASCII艺术作品制作一个vector。问题是当小块是多行时如何匹配。我不知道该怎么做。我不希望所有

单片机如何实现延时1ms或者1us

1us//适配主频为120MHz的单片机voidDelay_us(int16_tnus){int32_ttemp;SysTick->LOAD=nus*15;//120MHzSysTick->VAL=0X00;SysTick->CTRL=0X01;do{temp=SysTick->CTRL;}while((temp&0x01)&&(!(temp&(1CTRL=0x00;SysTick->VAL=0X00;}1msvoidDelay_ms(int16_tt){ unsignedlonga; a=t; while(a--) { Delay_us(1000); }}

如何检查角色是否是Rust中的Unicode New-Line字符(不仅是ASCII)?

每种编程语言都有自己的解释\n和\r。Unicode支持多个字符能够代表一条新线。从生锈的参考:空格逃脱是u+006e(n),u+0072(r)或u+0074(t)的字符之一,表示Unicode值U+000A(LF),U+000D(CR)或U+0009(HT)。基于该陈述,我会说如果它是一个新线角色,则是一个新的字符\n或者\r。在窗户上可能是\r和\n。我不确定。那以下呢?下一行字符(u+0085)线分离器字符(U+2028)段落分隔符(U+2029)我认为,我们缺少像char.is_new_line()。我看了看Unicode字符类别但找不到新线的定义。我是否必须提出自己对Unicode新

c++ - 如何测量非ASCII字符的正确大小?

在下面的程序中,我试图测量具有非ASCII字符的字符串的长度。但是,我不确定为什么size()在使用非ASCII字符时没有打印出正确的长度。#include#includeintmain(){std::strings1="Hello";std::strings2="इंडिया";//non-ASCIIstringstd::cout输出:SizeofHellois5Sizeofइंडियाis18现场演示Wandbox. 最佳答案 std::string::size返回字节长度,而不是字符数。您的第二个字符串使用UNICODE编码,

读取超过 127 个 ASCII 值时 C++ cin 失败

我创建了一个包含256个字符的文本文件,文本文件的第一个字符是ASCII值0,文本值的最后一个字符是ASCII值255。中间的字符从0到255均匀递增。所以字符#27是ASCII值27。字符#148应该是ASCII值148。我的目标是读取此文本文件的每个字符。我试过用cin阅读这个。我尝试了cin.get()和cin.read(),它们都应该读取未格式化的输入。但是在读取第26个字符时都失败了。我想当我使用unsignedchar时,cin说它正在读取readin255,这根本不是真的。当我使用普通签名的char时,cin表示它正在读取-1。它应该读入与ASCII26等效的任何字符。也

c++ - 为什么 std::locale loc ("en_US") 抛出异常?

我试图用美国或英国语言环境字符串实例化一个std::locale对象。std::localeloc("en_US")和std::localeloc("en_GB")都抛出一个错误的语言环境名称运行时异常.使用""或"C"创建语言环境效果很好;但是,我在设置单个国家/地区时遇到问题。我想这样做的原因是出于单元测试的目的,以确保一组字符串排序方法能够正常工作。我还应该指出,我正在使用VisualStudio2008在Windows中编写代码,如果可能的话,我希望让我的代码跨平台。 最佳答案 std::locale支持的字符串是特定于实现

C++ 从字符串中去除非 ASCII 字符

开始之前;是的,我知道这是一个重复的问题,是的,我已经查看了已发布的解决方案。我的问题是我无法让他们工作。boolinvalidChar(charc){return!isprint((unsigned)c);}voidstripUnicode(string&str){str.erase(remove_if(str.begin(),str.end(),invalidChar),str.end());}我在“Prusæus,AEgyptians”上测试了这个方法,但它什么也没做我还尝试用isprint代替isalnum真正的问题发生在我程序的另一部分我转换string->wstring->

c++ - 为什么不能将一个 int(代表一个 ASCII 字符)转换为一个 std::string 而不用花括号包裹 int?

intmain(){std::stringA;A+=(std::string)65;std::cout上面的代码不起作用。它会引发编译器错误。但是下面的代码有效。intmain(){std::stringA;A+=(std::string){65};std::cout当我将65括在大括号中时,它被解释为我想要的ASCIIA,但没有大括号,程序将无法运行。我还尝试将多个数字放在大括号中,如下所示:intmain(){std::stringA;A+=(std::string){65,66};std::cout这将打印出AB。我只希望有人能为我解决这个问题。 最佳

c# - 你如何在 C# 中将字符串转换为 ascii 和二进制?

前阵子(高中一年级)我请一位非常优秀的大三C++程序员制作一个简单的应用程序,将字符串转换为二进制。他给了我以下代码示例:voidToBinary(char*str){char*tempstr;intk=0;tempstr=newchar[90];while(str[k]!='\0'){itoa((int)str[k],tempstr,2);cout所以我想我的问题是如何获得与C#中的itoa函数等效的函数?或者如果没有我怎么能达到同样的效果? 最佳答案 使用C#很容易做到这一点。varstr="Helloworld";WithLI

c++ - string 如何处理非 ascii 符号而 char 不处理?

我理解C++中的char只是一种整数类型,它将ASCII符号存储为0到127之间的数字。斯堪的纳维亚字母'æ'、'ø'和'å'不是在ASCII表中的128个符号中。所以很自然地,当我尝试charch1='ø'时,我得到一个编译器错误,但是stringstr="øæå"工作正常,即使字符串使用char的right?string是否以某种方式转换为Unicode? 最佳答案 在C++中,有源字符集和执行字符集。源字符集是您可以在源代码中使用的字符集;但这不必与运行时可用的字符一致。如果您在源代码中使用不在源字符集中的字符,会发生什么情况