iphone开发 中文转码问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iphone开发 中文转码问题相关的知识,希望对你有一定的参考价值。

NSString *s1 = (NSString *) CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)yourString, NULL,(CFStringRef) @"!*'();:@&=+$,%#[]", kCFStringEncodingUTF8);
这种方法怎么用
最好能有demo看下

解决方法:
一、建议用iTools备份所有数据(通讯录、短信、软件等)。
二、然后进入DFU模式刷机,刷机完成再用iTools恢复备份(通讯录、短信、软件等)即可。
三、DFU刷机模式(黑屏)
1、用USB线将iPhone连接上电脑,然后将会听见电脑已连接成功的提示声音。
2、现在请先将iPhone关机,然后将会听见电脑未连接成功的提示声音。
3、现在先按住电源键3秒,然后继续同时按住开关机键和Home键,持续到第10秒的时候,请立即松开开关键,并继续保持按住Home键,直到在看到识别到DFU状态下的USB设备时就进入到DFU模式了。
4、这个时候iTunes会自动启动,并提示进行恢复模式(iPhone会一直保持黑屏状态)。那么就可以按住键盘上的shift键,点击“恢复”,选择相应的固件进行恢复。
参考技术A /**
*
* 此方法由一个UTF8字符串生成一个url编码(DOS状态下中文编码)字符串
* @return 一个url编码字符串
*
*/
+(NSString *)getUrlStringFromString:(NSString *)aStr
NSString *outputStr = (NSString *)
CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)aStr,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8);
return outputStr;

特殊符号与汉字转URL编码的代码,希望对楼主能有所帮助。本回答被提问者和网友采纳
参考技术B 选择ios学习,首先要了解的一些情况:
是不是老师有这方面的开发经验,
有很多地方都是老师自学之后去上课的!
是否有appstore线上真实应用需确定 ;
是否具有专业ios教学设备~;
是否先就业后付款;
华夏博大3G学院是我知道的最好的
,反映不错.;_F
参考技术C 如果选择IOS学习,应该详细了解些情况:
是不是老师有这方面的开发经验,而不是自学的老师给学生上课|;
是否有appstore线上真实应用需确定 ;
是否具有专业ios教学设备~;
是否先就业后付款;
试试华夏博大3G学院,反映不错.;p]

AES转码问题

AES加密解密过程中,由于是在jetty服务下开发的,运行中文不乱码,但是在测试在tomcat下还是出现了中文乱码(已经在server.xml配过了utf-8编码格式),然后就是一系列转码过程,在这过程中知道,gbk转utf-8乱造成字节流失,造成奇数中文奇数乱码,最后解决方法是解密字节码时就转码,相对应的加密的时候也要转码:

/**
* AES解密
* @param encryptBytes 待解密的byte[]
* @param decryptKey 解密密钥
* @return 解密后的String
* @throws Exception
*/
public static String aesDecryptByBytes(byte[] encryptBytes, String decryptKey) throws Exception {
KeyGenerator kgen = KeyGenerator.getInstance("AES");
kgen.init(128);

Cipher cipher = Cipher.getInstance(ALGORITHMSTR);
cipher.init(Cipher.DECRYPT_MODE, new SecretKeySpec(decryptKey.getBytes(), "AES"));
byte[] decryptBytes = cipher.doFinal(encryptBytes);
return new String(decryptBytes,"utf-8"); //此处需转码
}

/**
* AES加密
* @param content 待加密的内容
* @param encryptKey 加密密钥
* @return 加密后的byte[]
* @throws Exception
*/
public static byte[] aesEncryptToBytes(String content, String encryptKey) throws Exception {
KeyGenerator kgen = KeyGenerator.getInstance("AES");
kgen.init(128);
Cipher cipher = Cipher.getInstance(ALGORITHMSTR);
cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(encryptKey.getBytes(), "AES"));

return cipher.doFinal(content.getBytes("utf-8"));
}






























以上是关于iphone开发 中文转码问题的主要内容,如果未能解决你的问题,请参考以下文章

为 iPhone 和 iPhone 4 开发之间有啥变化?

XCode - iPhone 开发团队

开始 iPhone 开发 [重复]

iPhone开发常问的十个问题

*911 **救命! Apple 开发者计划是不是需要最新的 iphone 来开发 iphone 应用程序? [关闭]

我可以在 iphone3.0 上安装用 iphone sdk 3.1.3 开发的 iphone 应用程序吗?