小小词典(一,网络通信)

做一个简单的汉英/英汉词典,调用以下接口实现:

http://api.liqwei.com/translate/?language=zh-CN|en&content=汉字

http://api.liqwei.com/translate/?language=en|zh-CN&content=english

在Xcode中新建singleview工程,名为TinyDictionary.修改xib文件。


为textfield关联成员变量 _textField,为label关联成员变量 _lblResult 为按钮关联方法 pressFind.

//
//  ViewController.h
//  TinyDictionary
//
//  Created by cloud on 13-3-26.
//  Copyright (c) 2013年 cloud. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
{
    
    IBOutlet UITextField *_textField;
    IBOutlet UILabel *_lblResult;
}
- (IBAction)pressFind:(UIButton *)sender;
@end

原理介绍:textfield取得的值,调用网络接口进行转换,得到结果写到lable控件中去。

这里面牵涉到网络接口的访问,和编码转换。

常用字符集。

NSASCIIStringEncodeing=1 

NSNEXTSTEPStringEncodeing=2

NSJapaneseEUCStringEncoding=3

NSUTF8StringEncoding=4

NSISOLatin1StringEncoding=5

NSSymbolStringEncoding =6

NSNonLossyASCIIStringEncoding=7

NSShiftJISStringEncoding=8

NSISOLatin2StringEncoding=9

NSUnicodeStringEncoding =10

NSWindowsCP1251StringEncoding =11

NSWindowsCP1252StringEncoding=12

NSWindowsCP1253StirngEncoding=13

NSWindowsCP1254StirngEncoding=14

NSWindowsCP1250StirngEncoding=15

NSISO2022JPStringEncoding=21

NSMacOSRomanStringEncoding=30

NSProprietaryStringEncoding=65536

GB2312字符集

 NSStringEncoding enc =CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);

中文URL编码(encode)解码(decode)

NSString* s1=[@"http://www.163.com" stirngByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSStirng* s2=[string1 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

修改pressFind方法,我们来把英文翻译成中文

//
//  ViewController.m
//  TinyDictionary
//
//  Created by cloud on 13-3-26.
//  Copyright (c) 2013年 cloud. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (void)dealloc {
    [_textField release];
    [_lblResult release];
    [super dealloc];
}
- (IBAction)pressFind:(UIButton *)sender {
    if ([_textField.text length]==0) {
        return;
    }
    //GB2312字符集
    NSStringEncoding encode = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
    //编码中文url
    NSString *strURL=[[NSString stringWithFormat:@"http://api.liqwei.com/translate/?language=en|zh-CN&content=%@",_textField.text] stringByAddingPercentEscapesUsingEncoding:encode];
    NSURL* url=[NSURL URLWithString:strURL];   
    NSError *err=nil;
    //以指定编码得到url给出的内容
    NSString *strResult=[NSString stringWithContentsOfURL:url encoding:encode error:err];
    if (err) {
        NSLog(@"error=%@",[err description]);
    }
    else
    {
        _lblResult.text=strResult;        
    }
}
@end

运行,结果如下:


源码地址:http://download.csdn.net/detail/cloud95/5182217

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值