UTF8及各种字符串的相互转换,如utf8和unicode以及16进制及2进制各种字符串之间的转换,非常适用。
2022-12-16 19:44:07 15KB UTF8 字符串 转换
1
c++的des 加密解密代码,vs2017编译通过,可打开debug目录下的exe,查看效果,适合参考与学习
2022-12-15 17:41:29 17.14MB c++
1
编写程序:从键盘上输入一个包含10个字符的字符串,把该字符串与程序中给定的字符串("bacdbcabca") //依次比较,统计两个字符串对应字符相等的数目。然后输出从键盘上输入的字符串, //并把两个字符串中对应字符不相等的字符替换为字符'@'后生成的新串输出, //并输出所统计的两个字符串中相等字符的数目。
2022-12-14 17:09:14 1KB 字符串,对比,替换
1
基于开源URL数据字符串特征的恶意性检测项目源码+数据集+模型+项目说明.7z 从kdnuggets上收集到了带标签(good/bad)的URL数据集,共416350条,其中异常数据(bad)71556条,占比17.19%; 正常数据(good)344794条,占比82.81%。 将全体数据划分为训练集(70%),验证集(15%)和测试集(15%),并且在每个集合中均保持异常数据所占比例相同。 分类器模型 准确度(%) 精确度(%) 召回率(%) 贝叶斯 85.88 60.82 50.25 AdaBoost 92.84 86.05 69.65 随机森林 97.13 95.9 87.05 决策树 94.63 83.9 85.11 逻辑回归 90.86 83.29 58.58 梯度提升树 96.35 93.7 84.45 基于投票的分类器 97.1 92.51 90.48
一、实验目的: 通过设计编制调试一个具体的词法分析程序,加深对词法分析原理的理解。并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。 编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。并依次输出各个单词的内部编码及单词符号自身值。(遇到错误时可显示“Error”,然后跳过错误部分继续显示) 二、实验预习提示 1、词法分析器的功能和输出格式 词法分析器的功能是输入源程序,输出单词符号。词法分析器的单词符号常常表示成以下的二元式(单词种别码,单词符号的属性值)。本实验中,采用的是按类来安排
1
主要介绍了C++中实现继承string类的MyString类的步骤,其中的要点是要实现运算符的重载,需要的朋友可以参考下
2022-12-11 23:36:15 80KB C++ string MyString 字符串
1
Assembly code DATAS SEGMENT cap1 db "please input a string",0dh,0ah,"$" cap2 db "plesae input the letter you search",0dh,0ah,"$" str0 db 40,?,40 dup(0), str1 db 40 dup (0) DATAS ENDS STACKS SEGMENT dw 40h dup(?) STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS笑脸ATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX mov dx,offset cap1;输出提示“please input a string" mov ah,09h int 21h mov dx,offset str0;输入一行字符串 ;mov dh,0ah ;此处错误 mov ah,0ah int 21h mov dl,0ah;以下三行是实现换行功能 mov ah,02 int 21h mov dl,13;以下三行是实现回车功能 mov ah,02 int 21h mov dx,offset cap2 mov ah,09h int 21h mov ah,01h int 21h lea si,str0 lea di,str1 ;mov dh,dl ;此处错误,输入放在al中 mov dh,al call search xor dh,dh mov cx,dx ;lea di,str0;以下几句是实现依次输入找到的字符串的位置 lea di,str1; l4: ;loopz l5. ;mov cl,[di] mov dl,byte ptr [di] cmp dl,0 jz l5 add dl,30h mov ah,02h int 21h mov dl,',' mov ah,02h int 21h inc di jmp l4 l5: MOV AH,4CH INT 21H search proc;子程序 pushf push ax ;mov cx,[si+1] ;此处修改 xor cx,cx mov cl,byte ptr[si+1] mov dl,0 mov ax,1 l3:cmp [si+2],dh jnz l1 inc dl mov [di],al inc di l1:inc ax cmp ax,cx ja l2 inc si jmp l3 l2:pop ax popf ret search endp CODES ENDS END START
1
笔者在用access开发询问笔录时,发现access报表的文本框无法将英文单词从中间断行,造成打印时每行字数不同,相当难看。 除了将记录导出到word方法外(word要把“允许西文在单词中间换行"勾上),笔者写了一个自定义函数,可将字符按用户指定的字节长度参数分割成等长字符,调用时用test(字符串,字节长度)即可,比如字符为”CSDN是个好网站,大家都喜欢",现在需要按3个字节分割,结果如下,不足3字节的会用半角空格补齐: CSD N是 个 好 网 站 另外,由于windows里大部分中文字体不等宽,用户在设置报表字段字体时还需要设置为“幼圆”等宽字体,在此不表。
2022-12-04 10:23:41 651B 字符串 字节 分割
1
KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度为O(m+n).。 一.简单匹配算法 先来看一个简单匹配算法的函数: int Index_BF ( char S [ ], char T [ ], int pos ) { /* 若串 S 中从第pos(S 的下标0≤pos S[0] != S[1],S[1] != S[2],所以S[1] != T[0],S[2] != T[0]. 还是从理论上间接比较了。 有人疑问又来了,你分析的是不是特殊轻况啊。 假设S不变,在S中搜索T=“abaabd”呢?答:这种情况,当比较到S[2]和T[2]时,发现不等,就去看next[2]的值,next[2]=-1,意思是S[2]已经和T[0] 间接比较过了,不相等,接下来去比较S[3]和T[0]吧。 假设S不变,在S中搜索T=“abbabd”呢?答:这种情况当比较到S[2]和T[2]时,发现不等,就去看next[2]的值,next[2]=0,意思是S[2]已经和T[2]比较过了,不相等,接下来去比较S[2]和T[0]吧。 假设S=”abaabcabdabba”在S中搜索T=“abaabd”呢?答:这种情况当比较到S[5]和T[5]时,发现不等,就去看next[5]的值,next[5]=2,意思是前面的比较过了,其中,S[5]的前面有两个字符和T的开始两个相等,接下来去比较S[5]和T[2]吧。 总之,有了串的next值,一切搞定。那么,怎么求串的模式函数值next[n]呢?(本文中next值、模式函数值、模式值是一个意思。) 三. 怎么求串的模式值next[n] 定义: (1)next[0]= -1 意义:任何串的第一个字符的模式值规定为-1。 (2)next[j]= -1 意义:模式串T中下标为j的字符,如果与首字符 相同,且j的前面的1—k个字符与开头的1—k 个字符不等(或者相等但T[k]==T[j])(1≤k字符串S中查找模式串T,若S[m]!=T[n],那么,取T[n]的模式函数值next[n], 1. next[n]= -1 表示S[m]和T[0]间接比较过了,不相等,下一次比较 S[m+1] 和T[0] 2. next[n]=0 表示比较过程中产生了不相等,下一次比较 S[m] 和T[0]。 3. next[n]= k >0 但k #include int KMP(const char *Text,const char* Pattern) //const 表示函数内部不会改变这个参数的值。 { if( !Text||!Pattern|| Pattern[0]=='\0' || Text[0]=='\0' )// return -1;//空指针或空串,返回-1。 int len=0; const char * c=Pattern; while(*c++!='\0')//移动指针比移动下标快。 { ++len;//字符串长度。 } int *next=new int[len+1]; get_nextval(Pattern,next);//求Pattern的next函数值 int index=0,i=0,j=0; while(Text[i]!='\0' && Pattern[j]!='\0' ) { if(Text[i]== Pattern[j]) { ++i;// 继续比较后继字符 ++j; } else { index += j-next[j]; if(next[j]!=-1) j=next[j];// 模式串向右移动 else { j=0; ++i; } } }//while delete []next; if(Pattern[j]=='\0') return index;// 匹配成功 else return -1; } int main()//abCabCad { char* text="bababCabCadcaabcaababcbaaaabaaacababcaabc"; char*pattern="adCadCad"; //getNext(pattern,n); //get_nextval(pattern,n); cout<
2022-12-03 21:12:51 418KB c语言 数据结构 字符串模式匹配 算法
1
Java Emoji Converter(Emoji表情转换工具) Emoji转换工具,适合各种规格客户端生成的Emoji字符串转换成另外一种格式。 一种在每种类型之间转换表情符号字符串的工具,例如软银行表情符号,unicode表情符号,别名表情符号,html表情符号。 将软银行表情符号转换为unicode时,我们使用以下文件: : 快速入门快速入门 将此添加到您的maven pom文件中(将以下内容加入您的maven的pom文件中): < dependency> < groupId>com.github.binarywang < artifac
2022-12-03 12:47:24 57KB emoji java unicode-emoji softbank-emoji
1