swift unicode解码_swift unicode编码 - CSDN
  • 本文使用Swift来编写一小段代码,以快速查看Unicode编码。

    Swift中的String完全支持Unicode,它可以使用一个Unicode scalar来构造一个字符串。

    var 坤卦 = "\u{2637}"
    print(坤卦)

    在Xcode的Playground项目中运行,则会看到一个代表坤卦

    的符号。

    上面的例子说明,坤卦的符号的Unicode scalar为十六进制2637,也即 U+2637 .

    这个特性很令人激动,因为我们在构造字符串的时候,完全摆脱了仅用文本字符的限制。但问题是,我如何知道特定字符的Unicode编码呢?

    Unicode编码表很大,查询时有一定的困难。一种便捷的方法是,在指定的Unicode scalar的范围内,打印出其相应的字符。

    Swift有一个对应的数据类型,UnicodeScalar, 可以直接打印其字符。

    下面是实现这个功能的代码。

    var start:Int = 0x1F493
    let counts:Int = 10
    
    for _ in 1...counts {
        let hex = String(start, radix: 16, uppercase: true)
        
        print("\\u{\(hex)}: \(UnicodeScalar(start)!)")
        
        start += 1
    }
    变量start指定了Unicode scalar的起始范围,counts指定要打印10个。hex存有转换为大写十六进制的Unicode scalar的值。在print函数中,先将0x1F493传入UnicodeScalar类,以构造一个UnicodeScalar实例,然后将其按指定的格式打印出来。之后,start加1, 以打印紧跟其后的字符。

    运行这个例子,将看到:



    试着改变start及counts的值,就可以方便地查看特定范围的Unicode编码了。

    展开全文
  • public class Unicode2Chinese { ... * unicode解码(unicode编码转中文) * @支持格式 标准Unicode编码:\u8fbd\u5b81 * 类似Unicode编码:%u8fbd%u5b81 * @param theString * @return */
    public class Unicode2Chinese {
    	/**
    	     * unicode解码(unicode编码转中文)
    	     * @支持格式 标准Unicode编码:\u8fbd\u5b81
    	     * 		       类似Unicode编码:%u8fbd%u5b81
    	     * @param theString
    	     * @return
    	     */
    	    public static String unicodeDecode(String theString) {
    	        char aChar;
    	        int len = theString.length();
    	        StringBuffer outBuffer = new StringBuffer(len);
    	        for (int x = 0; x < len;) {
    	            aChar = theString.charAt(x++);
    	            if (aChar == '\\'||aChar == '%') {
    	                aChar = theString.charAt(x++);
    	 
    	                if (aChar == 'u') {
    	                    // Read the xxxx
    	                    int value = 0;
    	                    for (int i = 0; i < 4; i++) {
    	                        aChar = theString.charAt(x++);
    	                        switch (aChar) {
    	                        case '0':
    	                        case '1':
    	                        case '2':
    	                        case '3':
    	                        case '4':
    	                        case '5':
    	                        case '6':
    	                        case '7':
    	                        case '8':
    	                        case '9':
    	                            value = (value << 4) + aChar - '0';
    	                            break;
    	                        case 'a':
    	                        case 'b':
    	                        case 'c':
    	                        case 'd':
    	                        case 'e':
    	                        case 'f':
    	                            value = (value << 4) + 10 + aChar - 'a';
    	                            break;
    	                        case 'A':
    	                        case 'B':
    	                        case 'C':
    	                        case 'D':
    	                        case 'E':
    	                        case 'F':
    	                            value = (value << 4) + 10 + aChar - 'A';
    	                            break;
    	                        default:
    	                            throw new IllegalArgumentException(
    	                                    "Malformed   \\uxxxx   encoding.");
    	                        }
    	                    }
    	                    outBuffer.append((char) value);
    	                } else {
    	                    if (aChar == 't')
    	                        aChar = '\t';
    	                    else if (aChar == 'r')
    	                        aChar = '\r';
    	                    else if (aChar == 'n')
    	                        aChar = '\n';
    	                    else if (aChar == 'f')
    	                        aChar = '\f';
    	                    outBuffer.append(aChar);
    	                }
    	            } else
    	                outBuffer.append(aChar);
    	        }
    	        return outBuffer.toString();
    	    }


    转自:http://yuncode.net/code/c_526873207275580

    展开全文
  • Swift代码库之如何将String转换为unicode编码 var myString = "" for scalar in myString.unicodeScalars { print(String(scalar.value, radix: 16)) } 往期精彩 请点击,免费订阅《学S...
        

    Swift代码库之如何将String转换为unicode编码

      var myString = ""
            for scalar in myString.unicodeScalars {
                print(String(scalar.value, radix: 16))
            }
    

    往期精彩

    展开全文
  • Unicode解码转换为中文

    2019-07-02 18:52:23
    Unicode转中文2:Regex.Unescape(string str);str格式:"\uxxxx",举例:"\u300d" 转载于:https://www.cnblogs.com/a849788087/p/5949410.html

    Unicode转中文2:Regex.Unescape(string str);
    str格式:"\uxxxx" ,举例:"\u300d"

    转载于:https://www.cnblogs.com/a849788087/p/5949410.html

    展开全文
  • swift表情emoji的转换

    2016-03-09 17:13:59
    //第一步: 创建一个 Scanner 的实例对象  let scan = NSScanner(string: code!)  //第二步: 定义一个可变的 UInt32 类型的变量用于接收  var result: UInt32 = 0  scan.scanHexInt(&result) ...
  • let str = "... //返回查询URL组件中允许使用的字符的字符集。 let fuck = str.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) ... 上面代码中 fuck既是转换...
  • 在iOS开发中,字符编码转表情符号 代码如下: 如字符编码: 0x1f603 let str = "0x1f603" // 创建一个扫描器 let scanner = NScanner(string: str) // 从字符串中扫描对应的16进制数 var result: UInt32 = 0 ...
  • 参考ZXPUnicode。 核心代码为: 1.给NSObject添加一个分类: +(NSString *)stringByReplaceUnicode:(NSString *)string{   NSMutableString *convertedString = [string mutableCopy];  [convertedString ...
  • Swift中扫描emoji表情

    2016-12-13 22:58:41
    将一个已知十六进制值的emoji表情显示
  • unicode编码转中文处理

    2017-07-18 21:00:29
    ###unicode编码转中文处理 ###实际只要进行16进制转换 ###代码参考示例: public static String UnicodeToChinese(String string) { String str = string.replace("\\u", ","); String[] s2 = str.split(",");
  • emoji unicode转utf-16

    2018-11-28 21:51:22
    emoji的Unicode类型非常多,难以一条规则通吃,弄了半天,暂时就说结论: findSurrogatePair('3420e3') // 4️⃣ function findSurrogatePair (point) { let pointX16 = parseInt(point, 16) if (pointX16 &...
  • 先说一件事,因为写代码几乎从来没用过Character,所以说难听一点一直就以为就只有String这么一个字符相关的类,现在才...看完这章文档,发现要想弄明白字符串和字符,就一定要先搞懂Unicode,看的时候没搞懂,写着写着,...
  • http://www.swift51.com/swift4.0/chapter2/03_Strings_and_Characters.html 本页包含内容: 字符串字面量 字面量中的特殊字符 初始化空字符串 字符串可变性 字符串是值类型 使用字符 连接字符串和字符 字符串插值 ...
  • 原文地址:... Given an encoded string, return it's decoded string. The encoding rule is:k[encoded_string], where theencoded_stringinside the square brack...
  • Swift 4是苹果计划于2017年秋季推出的最新版本,其主要重点是提供与Swift 3代码的源兼容性,并努力实现ABI稳定性。 本文重点介绍对Swift的更改将对您的代码产生最大的影响。 而且,让我们开始吧!
  • UTF-8和unicode的关系

    2017-01-14 17:37:47
    UTF-8和unicode的关系结论:Unicode是一种规范,UTF-8是具体的实现方式。 你可以这么认为,unicode就好比Java中的接口,它只规定一些规则和内容及表示方法,UTF-8是具体的实现,考虑了很多实际的东西,比如如何存储...
  • JS中对URL进行转码与解码 escape 和 unescape escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值。 采用unicode字符集对指定的字符串除0-255以外进行编码。所有的空格符、标点符号、特殊...
  • swift 3.0 第3-6章中文

    2016-09-20 15:56:38
    Swift 中的字符串使用 String 类型表示.Swift 中的 String 和 Character都是 Unicode 兼容的.而且 Swift 中的字符串可以用 + 进行连接. 而且字符串的可变性直接由字符串是常量还是变量来控制, 不需要像 Foundation ...
  • Swift 语言指南

    2015-07-03 10:09:06
    这份指南汇集了 Swift 语言主流学习资源,并以开发者的视角整理编排。 GitHub:ipader/SwiftGuide | 网站:http://dev.swiftguide.cn | 欢迎开发者一起维护,或反馈/投稿 想了解关于该指南及 Swift 更多信息...
  • Swift语言实战入门》人民邮电出版社 写在前面:  之前一直在学习web的东西,怎么突然跑来学Swift,说到底是为了生存。在Web技术非常成熟的今天,也许对于一个毕业生来说,要成为一个优秀的前端工程师不是那么...
1 2 3 4 5 ... 19
收藏数 363
精华内容 145
关键字:

swift unicode解码