php 中文字符串反转】的更多相关文章

<?php header("content-type:text/html;charset=utf-8"); /** 此函数的作用是反转中文字符串 mb_strlen() 获取字符的长度 mb_substr() 获取字符的单个元素 krsort() 按照键值逆序排序数组 implode() 将数组拼接为字符串 explode() 使用字符串分隔字符串 */ function str_rev_gb($str){ //判断输入的是不是utf8类型的字符,否则退出 if(!is_stri…
/** * * 中文字符串倒序 * @param str $str * return str **/ function str_en_desc($str){ $len=mb_strlen($str); $t2=''; for($i=$len-1;$i>=0;$i--){ $t2=$t2.mb_substr($str,$i,1,'utf-8'); } return $t2; } $str='与世无争qwerwt'; echo str_en_desc($str); echo strlen($str)…
转自:http://www.oschina.net/code/snippet_613962_17070 <?php header("content-type:text/html;charset=utf-8"); /** 此函数的作用是反转中文字符串 mb_strlen() 获取字符的长度 mb_substr() 获取字符的单个元素 krsort() 按照键值逆序排序数组 implode() 将数组拼接为字符串 explode() 使用字符串分隔字符串 */ function st…
线程安全使用(四)   这是时隔多年第四篇,主要是因为身在东软受内网限制,好多文章就只好发到东软内部网站,懒的发到外面,现在一点点把在东软写的文章给转移出来. 这里主要讲解下CancellationTokenSource,CancellationTokenSource是用于取消线程,具体使用起来有点另类:首先定义实体,然后将其下的属性ToKen传递给线程,当需要取消线程时,调用下Cancel()方法.例子我依然采用了MSDN的例子,但我做了一些修改,这个例子虽然看起来挺复杂,但还是记录了许多内容…
字符串反转 即 abc 反转后成 cba 思路:两边都设置一个游标,然后互换位置,游标同步向中间移动,再互换. for i, j := 0, len(s)-1; i < j; i, j = i+1, j-1 { s[i], s[j] = s[j], s[i] } 用byte会乱码 func main() { src2 := "你好aaa李焕英" dst2 := reverse([]byte(src2)) fmt.Printf("%v\n", string(ds…
#获取中文长度mb_strlen($str,$encoding); #截取中文字符串 mb_substr(str,start,length,encoding);…
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 在基本的工作内容开发中,算法不会显得那么重要,而在百万级别的时候,差距非常大,今天带大家研究下常见的字符串反转算法. public class StringReverse { public static String reverse1(String orig) { char[] s = orig.toCharArray(); int n = s.length - 1; int halfLength…
思路:现将整个字符串反转,再将每个单词反转: #include "iostream" #include "cstring" using namespace std; void reverse_word(char*p,char*q){ char temp; while(q>p){ temp=*p; *p=*q; *q=temp; q--; p++; } } char* indexofnoletter(char*p){ char*t=p; while(*t!='…
通过ajax提交请求,返回的response所带的中文字符串一直显示为乱码,写了如下代码也无效: response.setCharacterEncoding("UTF-8"); response.getWriter().print("返回结果"); 后来在web.xml 添加如下描述,终于解决问题: <filter> <filter-name>CharacterEncodingFilter</filter-name> <fi…
字符串反转是面试过程中出现频率较高的算法题,今天一个牛同事让我用C#帮他实现这个算法,前提当然是不能使用类库. 例如: how are you 的反转结果为 you are how. 算法1: 是我当场写的一个不太理想的算法,虽然不太理想,但思路很直接: 1. 申请一个新的字符数组,新字符数组大小与源字符串等长度. 2. 将源字符串从末尾向前端进行遍历.将每一个单词加入新字符数组. 使用变量count记录当前单词长度.即, 若字符非空格,count++; 若字符是空格,则将原数组从当前位置开始的…
package my.unicode; import java.util.regex.Matcher; import java.util.regex.Pattern; public class UnicodeSwitchChinese { /** * * 转:http://blog.csdn.net/z69183787/article/details/25742307 * * 将字符串(不限于中文)转换为十六进制Unicode编码字符串 */ public static String strin…
先说下普通字符串(英文)比较: 一般使用双等来判断(==),如果还需要类型相同那么就用三等(===) 1. 双等(==)是完全向后兼容的,如果两个操作数类型不一致,它会在某些时候自动对操作数进行类型转换 var strA = "hello world"; var strB = new String("hello world"); if(strA == strB){ alert("true!"); //弹出true } 这两个变量含有相同的字符序列…
用php截取中文字符串会出现各种问题,做一简单汇总,文中的问题暂时还未解决,有大神解决了问题欢迎指教 <?php header('Content-Type:text/html;charset=utf-8');//页面采用utf-8编码 //header('Content-Type:text/html;charset=gbk');//页面采用gbk编码 /** * 实现中文截取无乱码 * @param $str:要截取的字符串 * @param $start:开始位置 * @param $leng…
1.Thinkphp 模板中直接对数据处理:{$data.name|substr=0,3} 2.中文字符串截取函数:mb_substr=0,14,'utf-8' 3.中文字符串统计:iconv_strlen(字符串,"UTF-8") <div style="margin-bottom: 8px;"> <a href="#" target="_blank" class="my_a" >…
老赵在反对北大青鸟的随笔中提到了数组反转.这的确是一道非常基础的算法题,然而也是一道很不平常的算法题(也许所有的算法深究下去都会很不平常).因为我写着写着,就写出来8种方法……现在我们以字符串的反转为例,来介绍这几种方法并对它们的性能进行比较. 使用Array.Reverse方法 对于字符串反转,我们可以使用.NET类库自带的Array.Reverse方法 public static string ReverseByArray(this string original) { char[] c =…
前言 在游戏中,我们经常会遇到汉字的多行显示,比如名字竖行显示等.如下图: 为了实现上面的效果,lua实现分行是通过  \n  实现的,所以我们需要取出汉字,然后插入 \n 实现分行效果.还有一种就是设置Label的的实际大小,也可以实现分行效果. 操作中文字符串,获取字符串长度 local str = "哈哈哈哈" local _,strTest = string.gsub(str,'[\128-\255][\128-\255]',' ') local _, count = stri…
/** * */ package com.wsheng.aggregator.algorithm.string; import java.util.Stack; /** * 8 种字符串反转的方法, 其实可以是9种方法,第9种是使用StringBuffer和StringBuilder中实现的方法 * @author Josh Wang(Sheng) * * @email swang6@ebay.com * */ public class StringReverse { /** * 二分递归地将后…
在加入 发布招聘功能的时候,出现问题了,就是修改招聘信息的时候.编辑器内容不显示,只显示英文,中文不显示,以前记得开发此功能没这问题啊!然后各种原因找不出,没办法,从编辑器函数入手,一步一步查,查到 1 此目录include/ckeditor/ckeditor_php5.php文件 代码块: 1 $out = "<textarea name=\"" . $name . "\"" . $attr . ">" .htm…
前段用thinkphp写了一个系统,感觉thinkphp学起来比较容易,开发起来了比较顺手,其中一个关键的因素就是它的模版引擎相当强大,使用方法跟smarty类似,在模版中还可以用php代码,有模版包含.继承的等很多好的功能…… 但是我发现thinkphp在模版函数中,没有中文字符串的截取函数,有个substr可以截取,但是不是基于中文的,当使用utf8编码的时候,由于3个字符代表一个中文,如果想截取的内容混杂中文/数字/英文字符串的时候就会出问题,最后一个字符很有可能混乱,这个问题很头大.于是…
在PHP中,我们都知道有专门的mb_substr和mb_strlen函数,可以对中文进行截取和计算长度,但是,由于这些函数并非PHP的核心函数,所以,它们常常有可能没有开启.当然,如果是用的自己的服务器,则只要在php.ini中开启即可.如果是用的虚拟主机,而服务器又没有开启这方面的函数的话,那就需要我们自己写出点适合咱自己的函数来了. 以下几个函数用起来颇为顺手的.不过要知道,得在utf-8环境下使用. header('Content-type:text/html;charset=utf-8'…
字符串截取是一个非常常见的编程任务,而往往带中文的字符串截取会经常用到.虽然不难,但是自己写函数实现又耗费时间,这里介绍一个比较好用的字符串截取函数,能够胜任基本的需求了 <?php function sysSubStr($string,$length,$append = false) { if(strlen($string) <= $length ) { return $string; } else { $i = 0; while ($i < $length) { $stringTMP…
要实现一个简单的业务: 使用SQL脚本获取字符串'large/020700/61970b0101.jpg' 中的'61970b0101.jpg'部分. 先想到的是C#中的lastindexof,但是SQL中没有这个函数,只有charindex函数,只好使用现有资源想办法曲线解决了. 解决思路: 1.使用REVERSE函数将字符串反转 2.使用charindex找到第一个出现'/'的位置 3.使用left函数找到'/'之前的字符串 4.再次使用REVERSE函数将处理过的字符串反转 具体示例: D…
中文网站一般会选择两种编码:gbk/gb2312或是utf-8. gbk编码下每个中文字符所占字节为2,例: $zhStr = ‘您好,中国!’; echo strlen($zhStr); // 输出:12 UTF-8编码下每个中文字符占3个字节. $zhStr = ‘您好,中国!’; echo strlen($zhStr); // 输出:18 那么如何计算这组中文字符串的长度呢?有人可能会说gbk下获取中文字符串长度除以2,utf-8编码下除以3不就行了吗?但是您要考虑字符串并不老实,99%的…
这里的输出的长度是6,那么一个汉字的字符长度就是3咯,可是老师演示的一个字符的长度却是2,百思不得其解. 查了一下资料发现,这个问题的答案与系统所采用的字符编码方式有关: 1. utf-8 如果系统采用的是utf-8,那么strlen(“新闻”)=6,即一个汉字占用3个字节.linux系统默认情况下采用的该种编码方式. 2. gb2312 如果系统采用的是gb2312,则strlen(“新闻”)=4,即一个汉字占用2个字节.windows中文版采用的该种编码方式. 汉字编码:GB_2312 字符…
package test; /** * * @Title 书的信息类 * @author LR * @version 1.0 * @since 2016-04-21 */ public class Book { private String book_id; private String book_name; private String publishing_house; public Book(String book_id, String book_name, String publishi…
转自:http://hi.baidu.com/hehehehello/item/dcc44a4a6afc690e6dc2f08b C++处理中文的问题困扰我很久了.之前一旦遇到中文基本就投诸java怀抱了. 今天看到一个漂亮的c++程序,遂豁然开朗.总结一下分享给大家: 问题描述: c++ 中 char*/string 形式的字符串无法正确的对中文字符串进行处理(如 find, strlen, substr 等常规操作) . 比如当你在char* 中 find 英文逗号时,有可能匹配的不只是逗号…
先说一下我的经历,以及解决问题的而过程. 在使用SpringMVC的时候,最开始的时候在配置文件中使用<mvc:annotation-driven />去自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,这是spring MVC为@Controllers分发请求所必须的.再后来,Ajax请求需要返回字符串,遂在控制器上使用@ResponseBody注解来实现,这时候遇到的一个问题是,返回中文字符的…
这篇文章介绍了php 中文字符串首字母的获取函数,有需要的朋友可以参考一下 function chineseFirst($str) { $str= iconv("UTF-8","gb2312", $str);    //如果程序是gbk的,此行就要注释掉 //判断字符串是否全都是中文     if (preg_match("/^[\x7f-\xff]/", $str))     {         $fchar=ord($str{0});   …
我在网上找到了一个oc版加密的工具类,但是加密中文就出现大问题 const char *cstr = [self cStringUsingEncoding:encoding]; NSData *data = [NSData dataWithBytes:cstr length:self.length]; uint8_t digest[CC_SHA1_DIGEST_LENGTH]; CC_SHA1(data.bytes, data.length, digest); NSMutableString*…
中文字符串在c/c++中表示为字节序列,在分词的时候需要根据不同的编码方式进行分词,一般分词器需要转换成统一的编码方式再进行转换,有些分词器如ICTCLAS在分词的时候可以不显示定义编码方式,可以检测字符串的编码方式再进行转换,本文就项目中用到的几种编码转换方式进行总结,主要利用了iconv进行编码转换. const bchar_t zero[1] = {L'\0'}; void gbk_utf16le(char* inbuf, size_t inlen, char* outbuf) { ico…