gpt4 book ai didi

ios - 所有 iPhone 标准键盘字符的字符串编码

转载 作者:行者123 更新时间:2023-11-30 13:44:56 24 4
gpt4 key购买 nike

我正在尝试对字符串进行编码(通过 HTTP post 请求发送)以接受可以在 iPhone 上键入的所有字符。

以下内容适用于我在典型的英语桌面键盘上尝试的任何字符

let userPassword = "password1"
let encodedPassword = userPassword.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.alphanumericCharacterSet())

但无法识别重音字符,如 á、é、í、ó、ú、ü、ñ 等(可在标准 iPhone 键盘上按住 a、e、i... 访问这些字符)。是否有一个 NSCharacterSet 或简单扩展可以包含标准 iPhone 键盘上的任何/所有字符?

编辑:这是我提出的请求的代码

let username = "joe"
let password = "pássword"
let encodedUsername = username.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.alphanumericCharacterSet())
let encodedPassword = password.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.alphanumericCharacterSet())

let request = NSMutableURLRequest(URL: NSURL(string: "https://www.url.com")!)
request.HTTPMethod = "POST"
let postString = "id="+encodedUsername+"&pw="+encodedPassword
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
...

最佳答案

只需在接受用户输入时添加此内容,这样用户就没有机会添加任何特殊符号或重音字符,并且您不必使用允许的字符进行编码:-

#define ACCEPTABLE_CHARACTERS @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_."

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSCharacterSet *acceptedInput = [NSCharacterSet characterSetWithCharactersInString:ACCEPTABLE_CHARACTERS];
if (![[string componentsSeparatedByCharactersInSet:acceptedInput] count] > 1){
NSLog(@"not allowed");
return NO;
}
else{
return YES;
}
}

关于ios - 所有 iPhone 标准键盘字符的字符串编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35080223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com