SORU
6 Aralık 2009, Pazar


Karakterler bir URL izin

Herkesin içinde kullanılan karakterler tam listesini kodlanmış olmadan ALMAK biliyor mu? Şu an kullandığım A-Z, a-z ve 0-9... ama tam listeyi öğrenmek için arıyorum.

Ayrıca eğer bir şartname Çince, Arapça url (ki bu sorumun üzerinde büyük bir etkisi olacaktır) geliyor eklenmesi için serbest ise orada ilgimi çekti

CEVAP
6 Aralık 2009, Pazar


3 ** teknik:

Bu nedenle, sadece alfanümerik, özel karakterler "$-_. !*'(),", ve ayrılmış karakterler kendileri için ayrılmış amaçlar için kullanılan olabilir bir URL içinde unencoded.

EDİT: @Jukka K. Korpela doğru olarak işaret ettiği Gibi, bu RFC RFC 3986tarafından güncellenmiştir. Bu ve kolayca kopyalanan ve yapıştırılan değil karakterler ana bilgisayar için geçerli, ne yazık ki genişletilmiş açıklık var, ama elimden geleni yapacağım.

İlk eşleşmesi sipariş:

host        = IP-literal / IPv4address / reg-name

IP-literal  = "[" ( IPv6address / IPvFuture  ) "]"

IPvFuture   = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" )

IPv6address =         6( h16 ":" ) ls32
                  /                       "::" 5( h16 ":" ) ls32
                  / [               h16 ] "::" 4( h16 ":" ) ls32
                  / [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32
                  / [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32
                  / [ *3( h16 ":" ) h16 ] "::"    h16 ":"   ls32
                  / [ *4( h16 ":" ) h16 ] "::"              ls32
                  / [ *5( h16 ":" ) h16 ] "::"              h16
                  / [ *6( h16 ":" ) h16 ] "::"

ls32        = ( h16 ":" h16 ) / IPv4address
                  ; least-significant 32 bits of address

h16         = 1*4HEXDIG 
               ; 16 bits of address represented in hexadecimal

IPv4address = dec-octet "." dec-octet "." dec-octet "." dec-octet

dec-octet   = DIGIT                 ; 0-9
              / %x31-39 DIGIT         ; 10-99
              / "1" 2DIGIT            ; 100-199
              / "2" %x30-34 DIGIT     ; 200-249
              / "25" %x30-35          ; 250-255

reg-name    = *( unreserved / pct-encoded / sub-delims )

unreserved  = ALPHA / DIGIT / "-" / "." / "_" / "~"     <---This seems like a practical shortcut, most closely resembling original answer

reserved    = gen-delims / sub-delims

gen-delims  = ":" / "/" / "?" / "#" / "[" / "]" / "@"

sub-delims  = "!" / "$" / "&" / "'" / "(" / ")"
              / "*" / " " / "," / ";" / "="

pct-encoded = "%" HEXDIG HEXDIG

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:
Url

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • celebrateubuntu

    celebrateubu

    23 Mayıs 2011
  • MysteryGuitarMan

    MysteryGuita

    16 HAZİRAN 2006
  • Troy Hunt

    Troy Hunt

    29 EYLÜL 2011