linux shell下16进制 “\uxxxx” unicode to UTF-8中文
问题出现背景:
项目中有个通过ip获取归属地城市需求,我是直接通过新浪的ip归属查询接口来获取的。我使用的是shell脚本调用
RESULT=$(curl -s 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=119.137.53.145')
返回json格式的值:
 var remote_ip_info = {"ret":1,"start":-1,"end":-1,"country":"\u4e2d\u56fd","province":"\u5e7f\u4e1c",
                    "city":"\u6df1\u5733","district":"","isp":"","type":"","desc":""};
 我使用awk截取到city的是为"\u6df1\u5733"的16进制的unicode编码。
  但是在把"\u6df1\u5733"转为中文的时候遇见了麻烦,百度上搜索到的方法是用iconv来转换成utf-8中文,但是这些方法都没有效果。
 可能iconv 只是把字符转成其他字符集的字符,而"\u6df1\u5733"是中文"深圳"在unicode的汉字16进制编码表中的位置,
  所以要使用iconv要转换的话,需要先把"\u6df1\u5733"解码成汉字"深圳",然后再转换成其他utf-8、gbk、gb2312等编码方式。
  iconv好像没有解码这个功能。
解决方案:
花了大量时间后在stack voerflow网站上找到了解决方法。
1、安装一个uni2ascii-4.15-1.el6.rf.x86_64.rpm
下载地址:http://download.csdn.net/download/oshuyu/9999900
2、然后可以使用ascii2uni命名转换
# echo '\u6df1\u5733' |ascii2uni -a U -q
# 深圳
linux shell下16进制 “\uxxxx” unicode to UTF-8中文的更多相关文章
- Linux Shell产生16进制随机数
		
n为字符长度 openssl rand -hex n
 - Linux GPT分区表16进制实例分析
		
Linux GPT分区表16进制实例分析 GPT分区表随着win10的普及,已经在越来越多的新电脑上开始使用了.前段时间的新闻有看到说Intel会在后面的新平台中完全取消CSM支持,这也大概相当于后面 ...
 - 太有用了,所以转:Delphi下16进制位图数据转位图
		
如果我们在Form中拖入一个Image控件,并设置好picture后,Alt+F12就可以看到Form的源代码中已经将图片转成了16进制字符串,如下: object Image1: TImage Le ...
 - Delphi下16进制位图数据转位图
		
如果我们在Form中拖入一个Image控件,并设置好picture后,Alt+F12就可以看到Form的源代码中已经将图片转成了16进制字符串,如下: ? 1 2 3 4 5 6 7 8 9 10 1 ...
 - C#下16进制和BCD码转换代码
		
private static Byte[] ConvertFrom(string strTemp) { try { if (Convert.ToBoolean(strTemp.Length & ...
 - Java 16进制、unicode互转
		
package service; import java.util.regex.Matcher; import java.util.regex.Pattern; public class CodeCh ...
 - 华为交换机Stelnet ssh/rsa验证模式下16进制公钥生成方法
		
1.生成秘钥 需要在你自己电脑上生成 执行下面命令,默认生成位置是~/.ssh ssh-keygen -t rsa -b 1024 -f yourkeyname -C "备注" 参 ...
 - Qt实现16进制unicode转utf-8以及国际音标编码问题
		
由于项目需要,需要对网络资源进行解码.遇到编码问题.研究了下基本编码原理.于是有了下面两个通用代码 1. 16进制unicode转换为utf-8中文显示 QString unicodeToUtf_8( ...
 - carryLess小笔记001_Java中16进制与字符串之间的相互转换
		
笔者前几日在开服过程中需要将字符串转化成为16进制的字符串,在网上找到了一些方法尝试之后,均发现存在一个问题-->字符串转为16进制后再转回来,英文正常,中文出现乱码 经过考虑决定通过以下方式进 ...
 
随机推荐
- day1-接口测试_jmeter_postman
			
1.postman测试接口六种类型,(注意1.每个请求最好使用独立的dome) 1.1 请求获取学生信息接口,请求方式为get,路径:/api/x/x,唯一参数stu_name=XXX;直接在输入地址 ...
 - CSS常用
			
1.CSS3新增特性,目前主流浏览器都支持 -webkit-user-select: none; /* Chrome all / Safari all /opera15+*/ -moz-user- ...
 - MUI学习03-弹出菜单(弹出列表)
			
弹出菜单HTML代码如下: <div class="mui-content"> <!--弹出列表-----------start--> <button ...
 - iOS WKWebview 网页开发适配指南【转】
			
微信iOS客户端将于2017年3月1日前逐步升级为WKWebview内核,需要网页开发者提前做好网站的兼容检查和适配.如有问题,可参考文末联系方式,向我们咨询. 背景 WKWebView 是苹果在iO ...
 - 自定义UIPickView
			
效果图 源码 https://github.com/YouXianMing/Animations 说明 1. 数据适配器PickerViewDataAdapter含有PickerViewCompone ...
 - float 浮点数与零值0比较大小 ZZ
			
float x: 千万不要写x==0; 写出float x 与“零值”比较的if语句——一道面试题分析 写出float x 与“零值”比较的if语句 请写出 float x 与“零值”比较的 if ...
 - python3 图片文字识别
			
最近用到了图片文字识别这个功能,从网上搜查了一下,决定利用百度的文字识别接口.通过测试发现文字识别率还可以.下面就测试过程简要说明一下 1.注册用户 链接:https://login.bce.baid ...
 - chrome浏览器美化插件:让您的浏览器页面冒水泡, 游小鱼儿
			
下载插件和效果图 这是一个让你的浏览器冒泡泡的插件, 浏览网页的时候仿佛置身于海底世界: 插件下载地址:http://files.cnblogs.com/files/diligenceday/chro ...
 - 跟着柴毛毛学Spring(3)——简化Bean的配置
			
通过前面的学习.我们会感觉到对于一个有较多Bean的大项目,Spring的配置会比較复杂. 那么接下来我们就介绍怎样简化Spring的配置. 简化Spring的配置主要分为两类: 1. 自己主动装配 ...
 - C#  System.Collections.Generic.Dictionary
			
using System; using System.Collections.Generic; public class Example { public static void Main() { / ...