zoukankan      html  css  js  c++  java
  • android上让我放弃使用wstring来操作中英文字符串 转

    android上让我放弃使用wstring来操作中英文字符串  

    2013-08-07 16:37:24|  分类: cocos2d|举报|字号 订阅

     
     
    项目需要,需要对中英文字符串进行遍历修改等,本来wstring和string网上面有一大堆的介绍,其中有一个“跨平台”的方法,但是无奈是用到setlocale这个方法,这个方法在android(NDKR8D)上面无论如何都返回null,也可以看看其源代码(测试版本NDK R8D)

    google和度娘上找了我一整天,后来不得不请教himi,himi指了一个方法给我,也解决了我这个需求。最终的不得不放弃使用wstring
     
    先感谢一下李华明himi
     
    简述一下himi的思路,遍历std:string,判断每个字节的范围是否在[0,127]这个ascii范围内,不是的话,就以长度为3放进一个string里面,最后返回的结果是一个vector<string>,就等于我要用到的wstring了
     
    简单代码如下:

    vector<string> toVectorCharacters(const string& $str, int $characterWidth) {
    int size = $str.size();
    vector<string> result;
    FOR_LOOP(size, i){
    char c = $str[i];
    if (c <= 127 && c >= 0) {
    string asciiChar($str.begin() + i, $str.begin() + i + 1);
    result.push_back(asciiChar);
    } else {
    string utf8char($str.begin() + i, $str.begin() + i + $characterWidth);
    result.push_back(utf8char);
    i += $characterWidth - 1;
    }
    }

    return result;
    }

  • 相关阅读:
    解决vue项目route使用history模式,tomcat部署刷新url 404问题
    更新
    Mac Anaconda 安装
    Mac python 环境配置
    Mac Python PyQt5 环境搭建
    Python 百分比计算
    Python __init__.py 文件使用
    Python redis 简单介绍
    python Django 创建应用
    python Django 项目创建
  • 原文地址:https://www.cnblogs.com/rexzhao/p/4001573.html
Copyright © 2011-2022 走看看