Source File
grammar.go
Belonging Package
mime
// Copyright 2010 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.package mime// isTSpecial reports whether c is in 'tspecials' as defined by RFC// 1521 and RFC 2045.func isTSpecial( byte) bool {// tspecials := "(" / ")" / "<" / ">" / "@" /// "," / ";" / ":" / "\" / <">// "/" / "[" / "]" / "?" / "="//// mask is a 128-bit bitmap with 1s for allowed bytes,// so that the byte c can be tested with a shift and an and.// If c >= 128, then 1<<c and 1<<(c-64) will both be zero,// and this function will return false.const = 0 |1<<'(' |1<<')' |1<<'<' |1<<'>' |1<<'@' |1<<',' |1<<';' |1<<':' |1<<'\\' |1<<'"' |1<<'/' |1<<'[' |1<<']' |1<<'?' |1<<'='return ((uint64(1)<<)&(&(1<<64-1)) |(uint64(1)<<(-64))&(>>64)) != 0}// isTokenChar reports whether c is in 'token' as defined by RFC// 1521 and RFC 2045.func isTokenChar( byte) bool {// token := 1*<any (US-ASCII) CHAR except SPACE, CTLs,// or tspecials>//// mask is a 128-bit bitmap with 1s for allowed bytes,// so that the byte c can be tested with a shift and an and.// If c >= 128, then 1<<c and 1<<(c-64) will both be zero,// and this function will return false.const = 0 |(1<<(10)-1)<<'0' |(1<<(26)-1)<<'a' |(1<<(26)-1)<<'A' |1<<'!' |1<<'#' |1<<'$' |1<<'%' |1<<'&' |1<<'\'' |1<<'*' |1<<'+' |1<<'-' |1<<'.' |1<<'^' |1<<'_' |1<<'`' |1<<'|' |1<<'~'return ((uint64(1)<<)&(&(1<<64-1)) |(uint64(1)<<(-64))&(>>64)) != 0}// isToken reports whether s is a 'token' as defined by RFC 1521// and RFC 2045.func isToken( string) bool {if == "" {return false}for , := range []byte() {if !isTokenChar() {return false}}return true}
![]() |
The pages are generated with Golds v0.7.9-preview. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |