【问题标题】:NSUrl swift 2 with greek and other special characters带有希腊语和其他特殊字符的 NSUrl swift 2
【发布时间】:2016-07-15 11:15:25
【问题描述】:

我正在尝试使用

发出服务器请求

NSUrl(string: "http://example.com/α")

其中α 是一个希腊字符。所以当我请求这个时,我得到一个错误并且我的应用程序崩溃了。所以我尝试将 url 编码为此

let myUrl = NSURL(string: myLink.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!)!

现在我的链接变成了http://example.com/%CE%B1

其中%CE%B1 是α 字符。尽管我的服务器无法识别它并且它不会将数据发回给我。 我将 node.js 与 io.socket 连接一起使用。 swift 有什么方法可以在没有百分比编码的情况下发送正确的 url?

【问题讨论】:

  • 你读过这个问题Check here
  • @Nirav 它仍然将请求发送为%CE%B1
  • 你需要改变你的服务器实现来理解这封信。 AFAIK,你不能发送没有百分比编码的特殊字符。
  • 我认为@ldindu 是正确的,您需要更改服务器实现。
  • @ldindu 是的,你是对的。

标签: ios swift swift2 nsurl


【解决方案1】:

在您的网址中编码α

let str = "α"
let url = str.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())

现在像这样解码 url 字符串

let orgStr = url?.stringByRemovingPercentEncoding
print(orgStr)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-14
    • 1970-01-01
    相关资源
    最近更新 更多