Microsoft.JScript.GlobalObject.Encode C# (CSharp) Method

Encode() private static method

private static Encode ( Object uri, URISetType flags ) : String
uri Object
flags URISetType
return String
      private static String Encode(Object uri, URISetType flags){
        String uriStr = Convert.ToString(uri);
        StringBuilder resultStr = new StringBuilder();
        for (int i = 0; i < uriStr.Length; i++){
          char ch = uriStr[i];
          if (GlobalObject.InURISet(ch, flags))
            resultStr.Append(ch);
          else{
            int value = (int)ch;
            if (value >= 0 && value <= 0x7F)
              GlobalObject.AppendInHex(resultStr, value);
            else if (value >= 0x0080 && value <= 0x07FF){
              GlobalObject.AppendInHex(resultStr, value >>  6        | 0xC0);
              GlobalObject.AppendInHex(resultStr, value       & 0x3F | 0x80);
            }else if (value < 0xD800 || value > 0xDFFF){
              GlobalObject.AppendInHex(resultStr, value >> 12        | 0xE0);
              GlobalObject.AppendInHex(resultStr, value >>  6 & 0x3F | 0x80);
              GlobalObject.AppendInHex(resultStr, value       & 0x3F | 0x80);
            }else{
              if (value >= 0xDC00 && value <= 0xDFFF)
                throw new JScriptException(JSError.URIEncodeError);
              if (++i >= uriStr.Length)
                throw new JScriptException(JSError.URIEncodeError);
              int value1 = (int)uriStr[i];
              if (value1 < 0xDC00 || value1 > 0xDFFF)
                throw new JScriptException(JSError.URIEncodeError);
              value = (value - 0xD800 << 10) + value1 + 0x2400;
              GlobalObject.AppendInHex(resultStr, value >> 18        | 0xF0);
              GlobalObject.AppendInHex(resultStr, value >> 12 & 0x3F | 0x80);
              GlobalObject.AppendInHex(resultStr, value >>  6 & 0x3F | 0x80);
              GlobalObject.AppendInHex(resultStr, value       & 0x3F | 0x80);
            }
          }
        }
        return resultStr.ToString();
      }

Usage Example

コード例 #1
0
ファイル: globalobject.cs プロジェクト: ydunk/masters
 public static String encodeURIComponent(Object uriComponent)
 {
     return(GlobalObject.Encode(uriComponent, URISetType.Unescaped));
 }
All Usage Examples Of Microsoft.JScript.GlobalObject::Encode