亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? escaper.java

?? 地圖生成的一個文件
?? JAVA
字號:
/* * Copyright (C) 2008 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package com.google.gson;import java.io.IOException;import java.util.Collections;import java.util.HashSet;import java.util.Set;/** * A utility class that is used to perform JSON escaping so that ", <, >, etc. characters are * properly encoded in the JSON string representation before returning to the client code. * * <p>This class contains a single method to escape a passed in string value: * <pre> *   String jsonStringValue = "beforeQuote\"afterQuote"; *   String escapedValue = Escaper.escapeJsonString(jsonStringValue); * </pre></p> * * @author Inderjeet Singh * @author Joel Leitch */class Escaper {  private static final char[] HEX_CHARS = {    '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'  };  private static final Set<Character> JS_ESCAPE_CHARS;  private static final Set<Character> HTML_ESCAPE_CHARS;  static {    Set<Character> mandatoryEscapeSet = new HashSet<Character>();    mandatoryEscapeSet.add('"');    mandatoryEscapeSet.add('\\');    JS_ESCAPE_CHARS = Collections.unmodifiableSet(mandatoryEscapeSet);    Set<Character> htmlEscapeSet = new HashSet<Character>();    htmlEscapeSet.add('<');    htmlEscapeSet.add('>');    htmlEscapeSet.add('&');    htmlEscapeSet.add('='); //   htmlEscapeSet.add('/');  -- Removing slash for now since it causes some incompatibilities    HTML_ESCAPE_CHARS = Collections.unmodifiableSet(htmlEscapeSet);  }  private final boolean escapeHtmlCharacters;    Escaper(boolean escapeHtmlCharacters) {    this.escapeHtmlCharacters = escapeHtmlCharacters;  }    public String escapeJsonString(CharSequence plainText) {    StringBuffer escapedString = new StringBuffer(plainText.length() + 20);    try {      escapeJsonString(plainText, escapedString);    } catch (IOException e) {      throw new RuntimeException(e);    }    return escapedString.toString();  }  private void escapeJsonString(CharSequence plainText, StringBuffer out) throws IOException {    int pos = 0;  // Index just past the last char in plainText written to out.    int len = plainText.length();        for (int charCount, i = 0; i < len; i += charCount) {      int codePoint = Character.codePointAt(plainText, i);      charCount = Character.charCount(codePoint);             if (!isControlCharacter(codePoint) && !mustEscapeCharInJsString(codePoint)) {          continue;       }       out.append(plainText, pos, i);       pos = i + charCount;       switch (codePoint) {         case '\b':           out.append("\\b");           break;         case '\t':           out.append("\\t");           break;         case '\n':           out.append("\\n");           break;         case '\f':           out.append("\\f");           break;         case '\r':           out.append("\\r");           break;         case '\\':           out.append("\\\\");           break;         case '/':           out.append("\\/");           break;         case '"':           out.append('\\').append((char) codePoint);           break;         default:           appendHexJavaScriptRepresentation(codePoint, out);           break;       }     }     out.append(plainText, pos, len);  }    private boolean mustEscapeCharInJsString(int codepoint) {    if (!Character.isSupplementaryCodePoint(codepoint)) {      char c = (char) codepoint;      return JS_ESCAPE_CHARS.contains(c)          || (escapeHtmlCharacters && HTML_ESCAPE_CHARS.contains(c));    } else {      return false;    }  }  private static boolean isControlCharacter(int codePoint) {    // JSON spec defines these code points as control characters, so they must be escaped    return codePoint < 0x20         || codePoint == 0x2028  // Line separator        || codePoint == 0x2029  // Paragraph separator        || (codePoint >= 0x7f && codePoint <= 0x9f);  }  private static void appendHexJavaScriptRepresentation(int codePoint, Appendable out)      throws IOException {    if (Character.isSupplementaryCodePoint(codePoint)) {      // Handle supplementary unicode values which are not representable in      // javascript.  We deal with these by escaping them as two 4B sequences      // so that they will round-trip properly when sent from java to javascript      // and back.      char[] surrogates = Character.toChars(codePoint);      appendHexJavaScriptRepresentation(surrogates[0], out);      appendHexJavaScriptRepresentation(surrogates[1], out);      return;    }    out.append("\\u")        .append(HEX_CHARS[(codePoint >>> 12) & 0xf])        .append(HEX_CHARS[(codePoint >>> 8) & 0xf])        .append(HEX_CHARS[(codePoint >>> 4) & 0xf])        .append(HEX_CHARS[codePoint & 0xf]);  }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频一区二区三区入口| 亚洲欧洲日韩一区二区三区| 日韩成人免费在线| 4438x成人网最大色成网站| 亚洲动漫第一页| 欧美日韩国产a| 麻豆精品国产传媒mv男同| 日韩一级二级三级| 国产精品12区| 国产精品国产a级| 欧美中文字幕一二三区视频| 午夜激情一区二区三区| 欧美videos大乳护士334| 国产麻豆精品theporn| 亚洲国产岛国毛片在线| 91成人在线免费观看| 日韩在线一区二区三区| 久久久精品日韩欧美| 欧美日本视频在线| 九九久久精品视频| 中文字幕av资源一区| 色哟哟国产精品免费观看| 日韩成人免费看| 久久久不卡网国产精品二区| 色哟哟一区二区三区| 奇米影视在线99精品| 中文字幕欧美三区| 欧美性生活一区| 国产一区二区美女诱惑| 一区二区三区在线观看动漫| 91精品久久久久久久91蜜桃 | 精品久久人人做人人爰| 成人动漫av在线| 日韩av中文字幕一区二区| 国产欧美日韩卡一| 91精品欧美一区二区三区综合在| 国产精品亚洲а∨天堂免在线| 色综合久久天天| 久久99精品国产麻豆不卡| 亚洲色图视频网站| 精品久久免费看| 欧美日韩亚洲不卡| 成人伦理片在线| 玖玖九九国产精品| 一区二区三区波多野结衣在线观看| 精品国产在天天线2019| 91久久精品午夜一区二区| 国产精品自拍三区| 青青青伊人色综合久久| 亚洲人精品一区| 国产精品网站在线播放| 日韩西西人体444www| 欧美丝袜丝交足nylons| 成人精品视频网站| 国产麻豆精品久久一二三| 日韩精品久久久久久| 亚洲精选在线视频| 亚洲国产精品黑人久久久| 精品对白一区国产伦| 欧美顶级少妇做爰| 精品视频在线免费观看| 91浏览器打开| 91小视频在线免费看| 成人综合日日夜夜| 国产黄人亚洲片| 韩国欧美国产1区| 天天色图综合网| 亚洲成在线观看| 一区二区高清视频在线观看| 亚洲日韩欧美一区二区在线| 亚洲国产精品v| 中文av一区二区| 九九国产精品视频| 日本在线不卡一区| 五月天亚洲婷婷| 日韩av不卡在线观看| 日韩电影在线免费看| 亚洲成人午夜影院| 三级亚洲高清视频| 日本欧美一区二区| 美女尤物国产一区| 久久福利视频一区二区| 国产永久精品大片wwwapp| 激情六月婷婷久久| 国产乱码精品一区二区三区忘忧草| 久久99国内精品| 国产在线一区观看| 国产不卡高清在线观看视频| 国产福利一区在线| 成人激情视频网站| 91免费在线播放| 欧美撒尿777hd撒尿| 欧美乱妇一区二区三区不卡视频| 欧美日本不卡视频| 精品国产一区二区三区不卡| 日韩精品中文字幕一区二区三区 | 日韩欧美一二区| 久久综合九色综合欧美亚洲| 久久人人97超碰com| 国产精品天天看| 亚洲一区免费观看| 蜜臀精品久久久久久蜜臀 | 琪琪一区二区三区| 免费高清视频精品| 国产精品亚洲一区二区三区在线| 国产夫妻精品视频| 91久久免费观看| 91精品综合久久久久久| 国产女人aaa级久久久级| 日韩一区在线免费观看| 日韩在线观看一区二区| 国产精品一区二区久久不卡| 色av成人天堂桃色av| 欧美电视剧免费观看| 国产精品你懂的在线| 亚洲成a人片在线不卡一二三区| 日韩电影在线一区二区| 成人一区二区三区视频| 欧美另类一区二区三区| 中文字幕巨乱亚洲| 亚洲一区二区三区四区的| 国产精品一区专区| 欧美中文字幕亚洲一区二区va在线 | 国产日韩av一区| 亚洲最大色网站| 国产精品一区免费在线观看| 色婷婷久久久综合中文字幕| 精品国产污污免费网站入口| 亚洲免费在线看| 国产一区二区三区免费| 在线免费视频一区二区| 国产女主播视频一区二区| 天堂一区二区在线免费观看| 99视频在线观看一区三区| 欧美一区二区三区视频免费| 自拍偷拍亚洲激情| 国产一区二区三区蝌蚪| 欧美另类z0zxhd电影| 国产精品不卡在线| 国产综合色产在线精品| 欧美人体做爰大胆视频| 一区二区三区在线观看视频| 国产电影精品久久禁18| 日韩一区二区三区在线| 亚洲一区在线观看网站| 99re这里只有精品首页| 欧美精品一区二区三区四区| 天天影视色香欲综合网老头| 色综合久久九月婷婷色综合| 国产欧美一区二区精品性色 | 99久久婷婷国产| 久久网站热最新地址| 日韩avvvv在线播放| 欧美亚洲精品一区| 亚洲乱码中文字幕| 99riav一区二区三区| 久久精品视频网| 黄色小说综合网站| 精品国产一区二区三区四区四| 五月婷婷色综合| 欧美男女性生活在线直播观看| 亚洲狼人国产精品| 91美女视频网站| 国产精品久久久久久久久动漫| 日韩欧美一区二区三区在线| 免费成人在线观看| 欧美videos大乳护士334| 免费视频最近日韩| 欧美一区二区网站| 日韩精品视频网站| 欧美一区二区三区喷汁尤物| 首页国产欧美日韩丝袜| 欧美一区二区二区| 久久se这里有精品| 久久综合色综合88| 高清成人在线观看| 国产精品美女久久久久高潮| 成人av网站免费| 亚洲三级理论片| 欧美色网一区二区| 日韩国产一二三区| 精品国产亚洲一区二区三区在线观看| 蜜桃av一区二区三区电影| 日韩欧美国产麻豆| 国产露脸91国语对白| 国产精品国产三级国产三级人妇| 成人污污视频在线观看| 中文字幕欧美一| 欧美日韩一本到| 美女性感视频久久| 亚洲国产精品ⅴa在线观看| av网站一区二区三区| 亚洲主播在线播放| 欧美成人激情免费网| 粗大黑人巨茎大战欧美成人| 自拍偷拍欧美激情| 911国产精品| 国产成人午夜高潮毛片| 亚洲乱码国产乱码精品精小说 | 欧美在线观看视频一区二区三区|