簡體   English   中英

特殊字符的ASCII字符串編碼問題

[英]ASCII String Encoding issue with special characters

在我的應用程序中,我正在使用ASCII字符串編碼將NSString轉換為NSData。 對於以下情況,我無法將字符串轉換為數據,因為它包含一些特殊字符。 我能夠使用UTF 8進行正確編碼,但我需要使用ascii,因為服務器還配置為使用ASCII。

NSData * ldata = [@“CASTAÑO” dataUsingEncoding:NSASCIIStringEncoding];

請幫助我解決此問題。

提前致謝

您是說要在您的NSData中將“CASTAÑO”轉換為“ CASTANO”嗎?

使用dataUsingEncoding:allowLossyConversion:

如:

NSData *ldata=[@"CASTAÑO" dataUsingEncoding:NSASCIIStringEncoding
                       allowLossyConversion:YES];

如何使用MIME傳輸數據? MIME是使用ASCII字符編碼各種文件類型的標准方法。 它通常用於使用不支持任何非ASCII數據的SMTP協議發送非ASCII電子郵件。

有些類別將NSData / NSString擴展為使用MIME編碼數據(這將導致ASCII字符)。我認為這不是即時解決方案,但根據您的限制(僅ASCII服務器),MIME應該是最好的解決方案。

請參閱: http : //www.mulle-kybernetik.com/software/EDFrameworks/download.html#EDMessagehttp://bitbucket.org/portablek/mimekit/overview

即使服務器配置為使用ASCII,我也可以使用NSISOLatin1StringEncoding編碼和解碼數據。

NSData * ldata = [@“CASTAÑO” dataUsingEncoding:NSISOLatin1StringEncoding];

特殊字符“Ñ”是擴展的ASCII字符,不會用ASCII編碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM