有关字符串作为URL的 UTF8编码和解码的问题。

当字符串要作为url访问的时候,我们对字符串中的中文非常头疼,这时候需就需要使用 UTF8来编码:

//使用 stringByAddingPercentEscapesUsingEncoding 方法来编码
[[obj File_url] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]

编码有了,如何解码获取中文呢?

//可以使用 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding  来进行解码,这样就可以获取到中文了
[lb_title setText:[[array lastObject] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
时间: 2024-10-11 16:47:36

有关字符串作为URL的 UTF8编码和解码的问题。的相关文章

JavaScript进行UTF-8编码与解码

JavaScript本身可通过charCodeAt方法得到一个字符的Unicode编码,并通过fromCharCode方法将Unicode编码转换成对应字符. 但charCodeAt方法得到的应该是一个16位的整数,每个字符占用两字节.在网络上传输一般采用UTF-8编码,JavaScript本身没有提供此类方法.不过有一个简便的办法来实现UTF-8的编码与解码. Web要求URL的查询字符串采用UTF-8编码,对于一些特殊字符或者中文等,会编码成多个字节,变成%加相应16进制码的形式.比如:汉字

URL地址的编码和解码问题

编码:encodeURIComponent() 方法:把URI字符串采用 UTF-8编码格式转化成escape格式的字符串.与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符.所以如果字符串里面包含了URI的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后URL将显示错误.不会被此方法编码的字符:! * ( ) 解码:HttpUtility.UrlDecode() 这种方法主要是用来解决 url地址中的参数带有特殊字符或所传参数需要保密等

GBK,UTF-8,和ISO8859-1之间的编码与解码

Unicode.UTF-8 和 ISO8859-1到底有什么区别 将以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 cec4",Unicode编码为"4e2d 6587",UTF编码就是"e4b8ad e69687".注意,这两个字没有iso8859-1编码,但可以用iso8859-1编码来"表示". 2. 编码基本知识 最早的编码是iso8859-1,和ascii编码相似.但为了方便表

url为什么要编码

在做通过关键词查询条目的需求时,发现前端IOS传过来的"中文关键字"是通过url编码的字串,直接使用,我们是是用不了的,拿php为例,我们需要对该值使用urldecode()函数进行解码,解码后就会是对应的中文了.当时觉得很纳闷,为什么前端要对参数编码后传给后台,心里的答案时为了安全起见,防止别人截取url后对其中的参数进行解析.但是,总感觉好模棱两可,既然我后台可以解码出正确值,为什么截取了你url的人不可以呢,如此哪来的安全可言. 于是,我就问了问之前工作的ios的同事,结果,他斩

接口调用时对url进行Encode编码

一,对url进行utf-8编码 1)在接口调用中可能会遇到需要对url进行编码与解码问题,在网络上找了相应方法,以提供参考 二,网络上找到的编码与解码工具类 package com.rain.demo; import java.io.UnsupportedEncodingException; public class UTF8{ /** * Utf8URL编码 * @param s * @return */ public static final String Utf8URLencode(Str

python编码:gbk编码与解码

gbk编码与解码: >>> a='\xce\xc4\xbc\xfe\xb5\xbd\xb4\xef\xb3\xc9\xb9\xa6' #gbk编码后的数据 >>> a '\xce\xc4\xbc\xfe\xb5\xbd\xb4\xef\xb3\xc9\xb9\xa6' >>> b=a.decode('gbk') #gbk解码 >>> b u'\u6587\u4ef6\u5230\u8fbe\u6210\u529f' >>&

php 编码和解码的函数

URL: urlencode(); //编码 urldecode(); //解码 base64: base64_encode(); base64_decode(); JSON: json_encode(); json_decode(); SESSION: session_encode(); session_decode(); HTML实体: htmlspecialchars(); //转成实体 htmlspecialchars_decode(); //实体转成字符 uuencode编码: con

萌新笔记——C++里将string类字符串(utf-8编码)分解成单个字(可中英混输)

最近在建词典,使用Trie字典树,需要把字符串分解成单个字.由于传入的字符串中可能包含中文或者英文,它们的字节数并不相同.一开始天真地认为中文就是两个字节,于是很happy地直接判断当前位置的字符的ASCII码是否处于0~127之间,如果是就提取一个字符,否则提取两个.在测试分字效果的时候,这种方法出了问题.比如我传一个"abcde一二三四五"进去,abcde可以正常分解成 a b c d e,而后面的"一二三四五"则成了乱码. 于是我开启了谷歌之旅,搜索"

如何识别字符串是否是UTF-8编码的

我们先要弄明白原始字符串里的字符用的是何种编码方式,运行如下 string tmp = "你好world"; for(int i=0;i<tmp.size();++i) { printf("%0X ",tmp.at(i)); } 程序输出: FFFFFFE4 FFFFFFBD FFFFFFA0 FFFFFFE5 FFFFFFA5 FFFFFFBD 77 6F 72 6C 64很明显,原始的字符串是使用UTF-8编码的,因为它满足UTF-8的编码规则: 1)对于