精华内容
下载资源
问答
  • 他写的版本是 #include<iostream> using namespace std; string dic[] = { "自然语言处理","准时","课程","作业","有","老番茄","意思","上课","计算语言学","开心" }; // 是否为词表中的词或者是词表中词的...

    问题起源于一个同学 daidaimadaima 的私信,他的问题是
    在这里插入图片描述
    在这里插入图片描述
    他写的版本是

    #include<iostream>
    using namespace std; 
    string dic[] = { "自然语言处理","准时","课程","作业","有","老番茄","意思","上课","计算语言学","开心" };
    
    // 是否为词表中的词或者是词表中词的前缀
    bool inDict(string str)
    {
        bool re = false;
        int i;
        int len = 10;//原来是GET_ARRAY_LEN(dic, len);但是他没发给我,所以这里直接赋值算了
       
        for (i = 0; i < len; i++)
        {
            // 是否和词表词相等或者是词表词前缀
            if (str == dic[i].substr(0, str.length()))
            {
                re = true;
            }
        }
        return re;
    }
    
    
    int main()
    {
        string sentence = "自然语言处理课程有意思";
        string word = "一";
        int wordlen = word.length();
    
    	int i;
        string s1 = "";
        cout << "词典:" << dic << endl;
    
    	cout << "句子:" << sentence << endl;
        for (i = 0; i < sentence.length(); i = i + wordlen)
        {
            string tmp = s1 + sentence.substr(i, wordlen);
    
            if (inDict(tmp))
            {
                s1 = s1 + sentence.substr(i, wordlen);
            }
            else
            {
                cout << "/" << s1;
                s1 = sentence.substr(i, wordlen);
            }
        }
        cout << "/" << s1;
    }
    
    

    但是,我用运行之后,并没有发现乱码,可能他指的是输出dic是数字而不是内容,也有可能他指的是字符串中有中、英文混杂时错误
    在这里插入图片描述

    #include<iostream>
    #include<vector>
    #include<string.h>
    using namespace std;
    vector<string>dic = { "自然语言处理","准时","课程","作业","有","老番茄","意思","上课","计算语言学","开心" };
    
    int GET_ARRAY_LEN(vector<string>dic) {
        return  dic.size();
    }
    
    // 是否为词表中的词或者是词表中词的前缀
    bool inDict(string str)
    {
        bool re = false;
        int i;
        int len =  GET_ARRAY_LEN(dic);
        for (i = 0; i < len; i++)
        {
            // 是否和词表词相等或者是词表词前缀
            //可能错误:if (str == dic[i].substr(0, str.length()))
            /*
            ==是比较a b的值
            compare是比较 a b指向的内容。建议用内置的比较:strcmp和compare等
            */
            if( str.compare(dic[i].substr(0,str.size()))==0 )        
            {
                re = true;
            }
        }
        return re;
    }
    
    
    int main()
    {
        string sentence = "自然语言处理d课程有意思吗有意思";  //自然语言处理d课程有意思吗意思
        string cword = "一";
        int cwordlen = cword.length();
        /*其实这一步和上一步可以直接换成int cwordlen=2;因为中文字符在这里为2个字节,英文字符也就是我们平时的cout是论ascill码的--为一个字节,所以下面加一个判断中英文,再改变i,而且我发现上面同学的代码中有一个bug就是无论最后一个对与错,都会输出,所以需要再加一个判断,我是把中文字符和英文字符都看成一个一个地读和累加判断
    */
        int i,j;
        string s1 = "";
        string tmpStr = "";
        string tmp = "";
        cout << "句子:" << sentence << endl;
    
        for (i = 0; i < sentence.length();)
        {
            j = i;
            if (sentence[i] < 0) {
                tmpStr = s1 + sentence.substr(i, cwordlen);
                tmp = sentence.substr(i, cwordlen);
                j += cwordlen;
            }
            else {
                tmpStr = s1 + sentence.substr(i, 1);
                tmp = sentence.substr(i, 1);
                j += 1;
            }
    
            if (inDict(tmpStr))
            {
                s1 = tmpStr;  
                cout << tmp;
            }
            else
            {
                cout <<"/";
                s1 = tmp;         
                if (inDict(s1)) {
                    cout << s1;
                }
            }
            i = j;
        }  
    
    }
    
    
    
    展开全文
  • /* 函数功能说明:此函数用于截取中文字符,函数以单个完整字符为单位进行截取,即一个英文字符和一个中文字符均表示一个单位长度* 参数说明:* 参数1:$string为要截取的字符,* 参数2:$start为欲截取的起始位置,...

    /* 函数功能说明:此函数用于截取中文字符串,函数以单个完整字符为单位进行截取,即一个英文字符和一个中文字符均表示一个单位长度

    * 参数说明:

    * 参数1:$string为要截取的字符串,

    * 参数2:$start为欲截取的起始位置,

    * 参数3:$length为要截取的字符个数(一个汉字或英文字符都算一个)

    * 返回值说明:返回截取结果字符串

    */

    function substr_cn($string_input,$start,$length)

    {

    $str_input=$string_input;

    $len=$length;

    $return_str="";

    //定义空字符串

    for ($i=0;$i<2*$len+2;$i++)

    $return_str=$return_str." ";

    $start_index=0;

    //计算起始字节偏移量

    for ($i=0;$i

    {

    if (ord($str_input{$start_index}>=161)) //是汉语

    {

    $start_index+=2;

    }

    else //是英文

    {

    $start_index+=1;

    }

    }

    $chr_index=$start_index;

    //截取

    for ($i=0;$i

    {

    $asc=ord($str_input{$chr_index});

    if ($asc>=161)

    {

    $return_str{$i}=chr($asc);

    $return_str{$i+1}=chr(ord($str_input{$chr_index+1}));

    $len+=1; //结束条件加1

    $i++; //位置偏移量加1

    $chr_index+=2;

    continue;

    }

    else

    {

    $return_str{$i}=chr($asc);

    $chr_index+=1;

    }

    }

    return trim($return_str);

    }//end of substr_cn

    展开全文
  • 串口调试器串口调试助手sscom32.exe 之英文版和繁体版 串口调试英文中文版
  • 本文为使用正则表达式判断英文字母或数字 使用正则表达式判断中文字符 分割中文字符(续) 分割中文字符 这四篇文章的综合版本,是一个有关中文的实际项目的一部分。要求为将连续的中文字符,按照以下两个...
     本文为
    使用正则表达式判断英文字母或数字 
    使用正则表达式判断中文字符串 
    分割中文字符串(续) 
    分割中文字符串 
    

    这四篇文章的综合版本,是一个有关中文的实际项目的一部分。要求为将连续的中文字符串,按照以下两个原则分割:

    1. 每个中文字符后接一个空格;
    2. 每个英文单词或数后接一个空格;
    3. 其他符号保留,后接一个空格。

    最后得到所需的中文字符串。该程序在VS2005中已经调试实现。

    该部分需要使用以下代码,我将逐一讲解。

    正则表达式部分有两个方法,分别作为判断中文或英文、数字的方法

     

            RegexChinese方法,判断字符是否为中文

            
    RegexLetterOrDigit方法,判断是否为字母或数字

     

    分割字符串用到以下方法:

     

           BlankString方法,将原始字符串间加入空格

            
    ConnectChar方法,将连续的英文字母或数字连接为单词或数

     

     

     

     

    展开全文
  • IDA Pro 搜索中文字符

    千次阅读 2019-09-13 01:33:30
    IDA 的字符窗口默认只能显示英文,网上的一些方法是指定启动时的参数可以显示中文 ida64 -DCULTURE=all ida -DCULTURE=all 还有就是修改 cfg/ida.cfg 文件,但是这两种方法都没试成功。实际上没有那么麻烦,IDA ...

    IDA Pro 搜索中文字符串

    IDA 的字符串窗口默认只能显示英文,网上的一些方法是指定启动时的参数可以显示中文

    ida64 -DCULTURE=all
    ida -DCULTURE=all
    

    还有就是修改 cfg/ida.cfg 文件,但是这两种方法都没试成功。实际上没有那么麻烦,IDA 7.0 操作很方便,在字符串列表窗口右键点击 Setup,如下图所示。

    对话框勾上 Unicode C-style (16 bits),点击 OK,如下图所示。另外需要注意的是图中最后面的 Minimal string lenght 这个是设置最小的字符串长度的,比如设置为 5,那么长度小于 5 的字符串就显示不出来,这个可以根据不同的情况配置。如果配置的太小了,就会出现很多无意义的数据,可能并不是字符串.


    设置好之后就可以显示中文字符了,搜索中文也没问题,如图所示。点击相应的字符串,可以定位到字符串在代码中的引用位置。

    最后附上 IDA Pro 7.0 下载地址,Windows 和 macOS 版本,包含全部 F5 插件。
    https://www.ioshacker.net/thread-116-1-1.html

    展开全文
  • IDA 搜索中文字符

    千次阅读 2019-09-18 06:47:12
    IDA 的字符窗口默认只能显示英文,网上的一些方法是指定启动时的参数可以显示中文 ida64 -DCULTURE=all ida -DCULTURE=all 还有就是修改 cfg/ida.cfg 文件,但是这两种方法都没试成功。实际上没有那么麻烦,IDA ...
  • 我找到一篇,但是那边只是讲到了 英文中文 如何居中,但是我遇到的都是中文英文数字都有的字符情况吧。比如:Python基础编程教学第1集 ,这样的标题,既有英文又有数字,还有中文。 下面我就讲下,我是如何把...
  • **提问**:如何才能在英文操作系统中,多字节MFC程序中读取ini文件字符中文不乱码?或如何才能获取正常的多字节中文字符?! 库存没有金币,欲哭无泪啊,虚心求教!!恳请高手指教!
  • Python编译报错:“UnicodeEncodeError: 'ascii' codec can't encodecharacters in position 0-1: ordinal not in range(128)”貌似Python3.x以下都存在...原理:字符在Python内部的表示是unicode 编码,因此,...
  • 实现含有中文字符的字符逆转,如: “我是小萌新” 转换成“新萌小是我” 第一只支持中文: #include <iostream> #include <Windows.h> #include <string> using namespace std; void ni_...
  • 1.中文英文首字母大写,我的excel是2007版本的, 把下面的代码复制到宏模板里面,然后直接关闭就好了 Function getpychar(char) tmp = 65536 + Asc(char) If (tmp >= 45217 And tmp <= 45252) Then ...
  • 但是即使对于ios和android版本之间的这些commong英文字符,字符ID也是不同的。 您想在 Android 项目中重用 ios 中的翻译字符。 脚步: 转到您的 ios en.lproj cat *.strings > x_en_strings.strings ...
  • 功能:生成与中文字符相对映的拼音首字母 版本: V1.0 alpha */ // 汉字拼音首字母列表 本列表包含了20902个汉字,用于配合 ToChineseSpell //函数使用,本表收录的字符的Unicode编码范围为19968至40869, XDesigner ...
  • 查找代码中存在的中文字符 当需要做英文版本时,可以用来检查代码中是否有遗漏的中文输出。
  • VisualAssistX破解解决了win10系统下vs2010中文输入下shift输入英文出现一大字符的问题.
  • MDK Keil 5 中文字符 编译错误

    千次阅读 2018-01-11 20:23:28
    MDK 无法编译某些中文字符目前用的MDK版本是最新的5.14;程序代码:const char *p = "我"; 编译时提示:..\User\main.c(59): error: #8: missing closing quote const char *p = "鎴?;按照提示是缺少了一个引号,...
  • AC自动机实现多模式匹配,支持中文系统,同时可以支持多个模式,测试使用Linux和Windows系统,使用20条模式,中英文混合,测试通过
  • 字符中一个或者多个中文逗号、顿号,空格、英文逗号替换为一个英文逗号,然后将替换后的字符转为数组 // 原始的字符包含很多符号 var_remark = "1111,,,,2、、、3,,,,,, " // 这一步是将其他的符号转换为...
  • 文件用Unicode存,程序中用Unicode字符做,在 Linux下使用没有问题(配置合适的话小企鹅和cce都可以输入UTF8汉字),但在Windows(中文版英文版)下测试,输入法输入的都是GB编 码汉字,无法与Unicode字符进行...
  • 转自看雪:sonyps int _tmain(int argc, _TCHAR* argv[]) {  printf("%s","我是中国... Demo的字符窗口还能识别出来   可是到了IDA6.6,就显示乱码了   BUG呀,弄起我IDA6.4一直不敢删除,算了忍忍,以为到了
  • 在使用PHP处理字符反转的时候,我们第一反应是使用PHP的内置函数strrev来处理,思维上是没有问题的,但是我们需要知道一个问题,函数strrev是否可以处理中文汉字的字符呢?带着疑问我们一起来看一下。代码民工一...
  • 关于IDA显示中文字符的问题

    千次阅读 2011-11-15 13:02:05
    IDA显示中文字符总是乱码,很不给力有木有!思索良久,忽然想起《加密与解密》第三上曾经对此有所提及,所以赶紧翻书查看解决方案,说是要修改ida.cfg这个配置文件。 所以,来到IDA的安装目录,找到cfg\ida.cfg...
  • MFC程序 中文版英文

    千次阅读 2013-11-04 10:44:17
    越来越多的程序支持多语言切换,或者能自动适应当前系统语言,让自己开发的程序支持多语言不仅可以让自己的程序被国人使用,也能让外国程序爱好者使用。...这里介绍以资源形式实现多语言版本。 1.打开Vi
  • 如果动态链接库发布x64版本中文的路径和文件名都正常,可是如果动态链接库发布86版本,传递过去的字符如果带有中文路径就会出现乱码,而如果只是中文文件名,。目录是英文和数字,就正常。 据我所知系统位数不会...
  • QT:QString 字符中文字符编码

    千次阅读 2017-04-04 00:08:43
    QString 字符中文字符编码 QT内部的编码方式 Unicode (utf-16) linux平台默认使用:utf-8 windows平台默认使用:gbk2312/gbk/gbk18030 QString内部使用Unicode编码,使用双引号的字符,通过转换构造函数,...
  • mongodb处理中文索引和查找字符

    千次阅读 2017-03-27 22:42:09
    首先自打3.2版本之后,就开始支持中文索引了,支持的所有的语言参考这里: https://docs.mongodb.com/manual/reference/text-search-languages/ 然后,对于要支持索引的表需要建议text index,如何建立参考这里: ...
  • PHP截取中文字符不出现?号的解决方法[原创] 大 | 中 | 小 [不指定 2007-8-15 18:51 | by 张宴 ]  [文章作者:张宴 本文版本:v1.0 最后修改:2007.08.15 转载请注明出处:http://blog.zyan.cc]  当PHP截取...
  • 转:... int _tmain(int argc, _TCHAR* argv[]) {  printf("%s","我是中国人");...这个几句代码编译的程序,在IDA6.4 Demo的字符窗口还能识别出来 可是到了IDA6.6,就显

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 104,233
精华内容 41,693
关键字:

中文版的英文怎么串