utf-8、unicode 、nsstring转换

一、nsstring转utf-8

NSString * str1=[@"你好" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

二、utf-8转unicode

NSString * title=[self utf8ToUnicode:@"你好"];

- (NSString *) utf8ToUnicode:(NSString *)string

{

NSUInteger length = [string length];

NSMutableString *s = [NSMutableString stringWithCapacity:0];

for (int i = 0;i < length; i++)

{

unichar _char = [string characterAtIndex:i];

//判断是否为英文和数字

if (_char <= ‘9‘ && _char >=‘0‘)

{

[s appendFormat:@"%@",[string substringWithRange:NSMakeRange(i,1)]];

}else if(_char >=‘a‘ && _char <= ‘z‘){

[s appendFormat:@"%@",[string substringWithRange:NSMakeRange(i,1)]];

}else if(_char >=‘A‘ && _char <= ‘Z‘){

[s appendFormat:@"%@",[string substringWithRange:NSMakeRange(i,1)]];

}else{

[s appendFormat:@"\u%x",[string characterAtIndex:i]];

}

}

return s;

}

时间: 2024-08-14 17:27:06

utf-8、unicode 、nsstring转换的相关文章

NSString 转换

NSString *tempA = @"123"; NSString *tempB = @"456"; 1,字符串拼接 NSString *newString = [NSString stringWithFormat:@"%@%@",tempA,tempB]; 2,字符转int int intString = [newString intValue]; 3,int转字符 NSString *stringInt = [NSString string

C#中文和UNICODE编码转换

C#中文和UNICODE编码转换 //中文轉為UNICODE string str = "中文"; string outStr = ""; if (!string.IsNullOrEmpty(str)) { for (int i = 0; i < str.Length; i++) { //將中文轉為10進制整數,然後轉為16進制unicode outStr += "\\u" + ((int)str[i]).ToString("x&

NSString 转换 UTF8

/** *  NSString 转换 UTF8声明 */ + (NSString *)UtfToString:(NSString *)newstring; /** *  NSString 转换 UTF8实现 */ +(NSString *)UtfToString:(NSString *)newstring{ return [newstring stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAl

iOS中NSString转换成HEX(十六进制)-NSData转换成int

http://www.2cto.com/kf/201402/281501.html 1 2 3 4 5 6 NSString *str = @"0xff055008"; //先以16为参数告诉strtoul字符串参数表示16进制数字,然后使用0x%X转为数字类型 unsigned long red = strtoul([str UTF8String],0,16); //strtoul如果传入的字符开头是“0x”,那么第三个参数是0,也是会转为十六进制的,这样写也可以: unsigned

Unicode字符转换成字符串

/*** * Unicode字符转换成字符串 * @param str * Unicode字符 * @return * String * * @author WXW */ public static String Unicode2String(String str){ Pattern pattern = Pattern.compile("(\\\\u(\\p{XDigit}{4}))"); Matcher matcher = pattern.matcher(str); char ch;

转换编码,将Unicode编码转换成可以浏览的utf-8编码

//转换编码,将Unicode编码转换成可以浏览的utf-8编码 public function unicodeDecode($name) { $pattern = '/([\w]+)|(\\\u([\w]{4}))/i'; preg_match_all($pattern, $name, $matches); if (!empty($matches)) { $name = ''; for ($j = 0; $j < count($matches[0]); $j++) { $str = $matc

javaScript 实现Unicode字符转换以及汉字转拼音

一.JavaScript实现汉字转为Unicode 1.通过解编码的方式转换 /* *js Unicode编码转换 */  var decToHex = function(str) {     var res=[];     for(var i=0;i < str.length;i++)         res[i]=("00"+str.charCodeAt(i).toString(16)).slice(-4);     return "\\u"+res.jo

(转载)GBK、UTF8、UNICODE编码转换

GBK.UTF8.UNICODE编码转换 1 string GBKToUTF8(const std::string& strGBK) 2 { 3 int nLen = MultiByteToWideChar(CP_ACP, 0, strGBK.c_str(), -1, NULL, 0); 4 WCHAR * wszUTF8 = new WCHAR[nLen]; 5 MultiByteToWideChar(CP_ACP, 0, strGBK.c_str(), -1, wszUTF8, nLen);

javascript处理汉字到unicode的转换

文章目录 最近项目中发现个问题,就是javascript的String.fromCharCode对超过两个字节的unicode不能很好的返回对应的字. 测试如下: 1 2 3 String.fromCharCode('0x54c8') //正常返回"哈" String.fromCharCode('0x20087') //应该返回"??",但是此处返回了"" 也就是说 只要超出了两个字节的unicode,js都没有很好的解析. 事实上,不仅仅是fr