Golang bytes.ToUpper类(方法)实例源码

下面列出了Golang bytes.ToUpper 类(方法)源码代码实例,从而了解它的用法。

作者:karlsegui    项目:liqui   
// not crazy about this
func capitalize(sentence []byte) []byte {
	l := len(sentence)
	l1 := l - 1
	for i := 0; i < l1; i++ {
		if sentence[i] == ' ' && sentence[i+1] != ' ' {
			sentence[i+1] = bytes.ToUpper(sentence[i+1 : i+2])[0]
		}
	}
	if sentence[0] != ' ' {
		sentence[0] = bytes.ToUpper(sentence[0:1])[0]
	}
	return sentence
}

作者:jeffjenkin    项目:dispatch   
func upperFirst(s string) string {
	if s == "" {
		return ""
	}

	return string(bytes.ToUpper([]byte(s[0:1]))) + s[1:]
}

作者:kylelemon    项目:ircd-bligh   
func ParseMessage(line []byte) *Message {
	line = bytes.TrimSpace(line)
	if len(line) <= 0 {
		return nil
	}
	m := new(Message)
	if line[0] == ':' {
		split := bytes.SplitN(line, []byte{' '}, 2)
		if len(split) <= 1 {
			return nil
		}
		m.Prefix = string(split[0][1:])
		line = split[1]
	}
	split := bytes.SplitN(line, []byte{':'}, 2)
	args := bytes.Split(bytes.TrimSpace(split[0]), []byte{' '})
	m.Command = string(bytes.ToUpper(args[0]))
	m.Args = make([]string, 0, len(args))
	for _, arg := range args[1:] {
		m.Args = append(m.Args, string(arg))
	}
	if len(split) > 1 {
		m.Args = append(m.Args, string(split[1]))
	}
	return m
}

作者:daqinbuy    项目:wecha   
// 对 parameters 里的参数做 MD5 签名.
// 签名方法:
// 1. 对参数 parameters 按照 key 的 ASCII 码从小到大排序(字典序)后,使用 URL 键值对的
// 格式(即 key1=value1&key2=value2...)拼接成字符串 string1,
// 注意:值为空的参数不参与签名;
// 2. 在 string1 最后拼接上 key=Key(商户支付密钥) 得到 stringSignTemp 字符串, 并对
// stringSignTemp 进行 md5 运算,再将得到的字符串所有字符转换为大写,得到 sign 值
// signValue。
//
//  parameters:  待签名的参数
//  Key:         支付签名的 Key
func MD5Signature(parameters map[string]string, Key string) (signature string) {
	keys := make([]string, 0, len(parameters))
	for key, value := range parameters {
		if value == "" { // 值为空不参加签名
			continue
		}
		if key == "sign" {
			continue
		}

		keys = append(keys, key)
	}
	sort.Strings(keys)

	Hash := md5.New()
	hashsum := make([]byte, md5.Size*2)

	for _, key := range keys {
		value := parameters[key]

		Hash.Write([]byte(key))
		Hash.Write([]byte{'='})
		Hash.Write([]byte(value))
		Hash.Write([]byte{'&'})
	}
	Hash.Write([]byte("key="))
	Hash.Write([]byte(Key))

	hex.Encode(hashsum, Hash.Sum(nil))
	signature = string(bytes.ToUpper(hashsum))
	return
}

作者:jclohman    项目:mapge   
func (mg MapGen) Generate() error {
	filename := filepath.Join(mg.path, strings.ToLower(mg.typeName)+"-mapping.go")
	if _, err := os.Stat(filename); err == nil {
		os.Remove(filename)
	}

	data := mapGenTplData{
		PackageName: mg.packageName,
		TypeName:    mg.typeName,
		Targets:     make(map[string]string),
	}
	removeSpecialCharsRegex := regexp.MustCompile("[^a-zA-Z0-9]+")
	for _, targetType := range mg.targets {
		typeName := targetType

		typeNameBytes := []byte(typeName)

		typeNameBytes = removeSpecialCharsRegex.ReplaceAll(typeNameBytes, []byte(""))

		// set the first character to uppercase
		typeNameBytes[0] = bytes.ToUpper(typeNameBytes[0:1])[0]
		typeName = string(typeNameBytes)

		data.Targets[targetType] = typeName
	}

	file, err := os.OpenFile(filename, os.O_WRONLY|os.O_CREATE, 0777)
	if err != nil {
		return err
	}
	err = mapGenTpl.Execute(file, data)

	return err
}

作者:GamerockS    项目:de   
func ExampleWordDecoder_Decode() {
	dec := new(WordDecoder)
	header, err := dec.Decode("=?utf-8?q?=C2=A1Hola,_se=C3=B1or!?=")
	if err != nil {
		panic(err)
	}
	fmt.Println(header)

	dec.CharsetReader = func(charset string, input io.Reader) (io.Reader, error) {
		switch charset {
		case "x-case":
			// Fake character set for example.
			// Real use would integrate with packages such
			// as code.google.com/p/go-charset
			content, err := ioutil.ReadAll(input)
			if err != nil {
				return nil, err
			}
			return bytes.NewReader(bytes.ToUpper(content)), nil
		}
		return nil, fmt.Errorf("unhandled charset %q", charset)
	}
	header, err = dec.Decode("=?x-case?q?hello!?=")
	if err != nil {
		panic(err)
	}
	fmt.Println(header)
	// Output:
	// ¡Hola, señor!
	// HELLO!
}

作者:Wan    项目:wecha   
// 传统的签名代码, Sign 是优化后的代码, 要提高 35% 的速度
func Sign2(parameters map[string]string, apiKey string, fn func() hash.Hash) string {
	ks := make([]string, 0, len(parameters))
	for k := range parameters {
		if k == "sign" {
			continue
		}
		ks = append(ks, k)
	}
	sort.Strings(ks)

	if fn == nil {
		fn = md5.New
	}
	h := fn()
	signature := make([]byte, h.Size()*2)

	for _, k := range ks {
		v := parameters[k]
		if v == "" {
			continue
		}
		h.Write([]byte(k))
		h.Write([]byte{'='})
		h.Write([]byte(v))
		h.Write([]byte{'&'})
	}
	h.Write([]byte("key="))
	h.Write([]byte(apiKey))

	hex.Encode(signature, h.Sum(nil))
	return string(bytes.ToUpper(signature))
}

作者:FooSof    项目:md2vi   
func (v *vimDoc) Header(out *bytes.Buffer, text func() bool, level int, id string) {
	initPos := out.Len()
	if v.flags&flagNoRules == 0 {
		switch level {
		case 1:
			v.writeRule(out, "=")
		case 2:
			v.writeRule(out, "-")
		}
	}

	headingPos := out.Len()
	if !text() {
		out.Truncate(initPos)
		return
	}

	var temp []byte
	temp = append(temp, out.Bytes()[headingPos:]...)
	out.Truncate(headingPos)

	h := &heading{temp, level}
	v.headings = append(v.headings, h)

	tag := fmt.Sprintf("*%s*", v.buildHelpTag(h.text))
	v.writeSplitText(out, bytes.ToUpper(h.text), []byte(tag), " ", 2)
	out.WriteString("\n")
}

作者:ri    项目:golang-stuf   
func main() {
	quickBrownFox := []byte("The quick brown fox jumped over the lazy dog")

	title := bytes.Title(quickBrownFox)
	log.Printf("Title turned %q into %q", quickBrownFox, title)

	allTitle := bytes.ToTitle(quickBrownFox)
	log.Printf("ToTitle turned %q to %q", quickBrownFox, allTitle)

	allTitleTurkish := bytes.ToTitleSpecial(unicode.TurkishCase, quickBrownFox)
	log.Printf("ToTitleSpecial turned %q into %q using the Turkish case rules", quickBrownFox, allTitleTurkish)

	lower := bytes.ToLower(title)
	log.Printf("ToLower turned %q into %q", title, lower)

	turkishCapitalI := []byte("İ")
	turkishLowerI := bytes.ToLowerSpecial(unicode.TurkishCase, turkishCapitalI)
	log.Printf("ToLowerSpecial turned %q into %q using the Turkish case rules", turkishCapitalI, turkishLowerI)

	upper := bytes.ToUpper(quickBrownFox)
	log.Printf("ToUpper turned %q to %q", quickBrownFox, upper)

	upperSpecial := bytes.ToUpperSpecial(unicode.TurkishCase, quickBrownFox)
	log.Printf("ToUpperSpecial turned %q into %q using the Turkish case rules", quickBrownFox, upperSpecial)
}

作者:btbxbo    项目:wecha   
// jssdk 支付签名, signType 只支持 "MD5", "SHA1", 传入其他的值会 panic.
func JsapiSign(appId, timeStamp, nonceStr, packageStr, signType string, apiKey string) string {
	var h hash.Hash
	switch signType {
	case "MD5":
		h = md5.New()
	case "SHA1":
		h = sha1.New()
	default:
		panic("unsupported signType")
	}
	bufw := bufio.NewWriterSize(h, 128)

	// appId
	// nonceStr
	// package
	// signType
	// timeStamp
	bufw.WriteString("appId=")
	bufw.WriteString(appId)
	bufw.WriteString("&nonceStr=")
	bufw.WriteString(nonceStr)
	bufw.WriteString("&package=")
	bufw.WriteString(packageStr)
	bufw.WriteString("&signType=")
	bufw.WriteString(signType)
	bufw.WriteString("&timeStamp=")
	bufw.WriteString(timeStamp)
	bufw.WriteString("&key=")
	bufw.WriteString(apiKey)

	bufw.Flush()
	signature := make([]byte, hex.EncodedLen(h.Size()))
	hex.Encode(signature, h.Sum(nil))
	return string(bytes.ToUpper(signature))
}

作者:btbxbo    项目:wecha   
// Sign 微信支付签名.
//  params: 待签名的参数集合
//  apiKey: api密钥
//  fn:     func() hash.Hash, 如果为 nil 则默认用 md5.New
func Sign(params map[string]string, apiKey string, fn func() hash.Hash) string {
	if fn == nil {
		fn = md5.New
	}
	h := fn()
	bufw := bufio.NewWriterSize(h, 128)

	keys := make([]string, 0, len(params))
	for k := range params {
		if k == "sign" {
			continue
		}
		keys = append(keys, k)
	}
	sort.Strings(keys)

	for _, k := range keys {
		v := params[k]
		if v == "" {
			continue
		}
		bufw.WriteString(k)
		bufw.WriteByte('=')
		bufw.WriteString(v)
		bufw.WriteByte('&')
	}
	bufw.WriteString("key=")
	bufw.WriteString(apiKey)

	bufw.Flush()
	signature := make([]byte, hex.EncodedLen(h.Size()))
	hex.Encode(signature, h.Sum(nil))
	return string(bytes.ToUpper(signature))
}

作者:rainli    项目:GoABN   
func (this *Parser) MatchExpectedIgnoreCase(value int, expected byte) bool {
	var lowers [2]byte
	lowers[0] = byte(value)
	lowers[1] = expected
	uppers := bytes.ToUpper(lowers[:])
	return uppers[0] == uppers[1] //Character.toUpperCase(value) == Character.toUpperCase(expected);
}

作者:kyann    项目:qbo   
func Top(w http.ResponseWriter, r *http.Request) {
	method := bytes.ToUpper([]byte(r.Method))
	if string(method) != "POST" {
		http.Error(w, string(method)+" is not allowed", 403)
	} else {
		fmt.Fprintln(w, r.Method+" is ok")
	}
}

作者:davidsoloma    项目:beat   
func (redis *Redis) newTransaction(requ, resp *redisMessage) common.MapStr {
	error := common.OK_STATUS
	if resp.IsError {
		error = common.ERROR_STATUS
	}

	var returnValue map[string]common.NetString
	if resp.IsError {
		returnValue = map[string]common.NetString{
			"error": resp.Message,
		}
	} else {
		returnValue = map[string]common.NetString{
			"return_value": resp.Message,
		}
	}

	src := &common.Endpoint{
		Ip:   requ.TcpTuple.Src_ip.String(),
		Port: requ.TcpTuple.Src_port,
		Proc: string(requ.CmdlineTuple.Src),
	}
	dst := &common.Endpoint{
		Ip:   requ.TcpTuple.Dst_ip.String(),
		Port: requ.TcpTuple.Dst_port,
		Proc: string(requ.CmdlineTuple.Dst),
	}
	if requ.Direction == tcp.TcpDirectionReverse {
		src, dst = dst, src
	}

	// resp_time in milliseconds
	responseTime := int32(resp.Ts.Sub(requ.Ts).Nanoseconds() / 1e6)

	event := common.MapStr{
		"@timestamp":   common.Time(requ.Ts),
		"type":         "redis",
		"status":       error,
		"responsetime": responseTime,
		"redis":        returnValue,
		"method":       common.NetString(bytes.ToUpper(requ.Method)),
		"resource":     requ.Path,
		"query":        requ.Message,
		"bytes_in":     uint64(requ.Size),
		"bytes_out":    uint64(resp.Size),
		"src":          src,
		"dst":          dst,
	}
	if redis.SendRequest {
		event["request"] = requ.Message
	}
	if redis.SendResponse {
		event["response"] = resp.Message
	}

	return event
}

作者:get3    项目:get3   
// convert an input string to uppercase
func Upcase(input interface{}, data map[string]interface{}) interface{} {
	switch typed := input.(type) {
	case []byte:
		return bytes.ToUpper(typed)
	case string:
		return strings.ToUpper(typed)
	default:
		return input
	}
}

作者:prinsmik    项目:passg   
func (g *Generator) ToUpper(char []byte) byte {
	var b byte
	rand.Seed(time.Now().UTC().UnixNano())
	n := rand.Intn(g.CapitalizeOdds)
	if n == g.CapitalizeOdds-1 {
		b = bytes.ToUpper(char)[0]
	} else {
		b = char[0]
	}
	return b
}

作者:daqinbuy    项目:wecha   
// 设置签名字段.
//  appKey: 商户支付密钥Key
//
//  NOTE: 要求在 JSAPIPayRequestParameters 其他字段设置完毕后才能调用这个函数, 否则签名就不正确.
func (para *JSAPIPayRequestParameters) SetSignature(appKey string) (err error) {
	var Hash hash.Hash
	var hashsum []byte

	switch para.SignMethod {
	case "md5", "MD5":
		Hash = md5.New()
		hashsum = make([]byte, md5.Size*2)

	default:
		err = fmt.Errorf(`unknown sign method: %q`, para.SignMethod)
		return
	}

	// 字典序
	// appId
	// nonceStr
	// package
	// signType
	// timeStamp
	if len(para.AppId) > 0 {
		Hash.Write([]byte("appId="))
		Hash.Write([]byte(para.AppId))
		Hash.Write([]byte{'&'})
	}
	if len(para.NonceStr) > 0 {
		Hash.Write([]byte("nonceStr="))
		Hash.Write([]byte(para.NonceStr))
		Hash.Write([]byte{'&'})
	}
	if len(para.Package) > 0 {
		Hash.Write([]byte("package="))
		Hash.Write([]byte(para.Package))
		Hash.Write([]byte{'&'})
	}
	if len(para.SignMethod) > 0 {
		Hash.Write([]byte("signType="))
		Hash.Write([]byte(para.SignMethod))
		Hash.Write([]byte{'&'})
	}
	if len(para.TimeStamp) > 0 {
		Hash.Write([]byte("timeStamp="))
		Hash.Write([]byte(para.TimeStamp))
		Hash.Write([]byte{'&'})
	}
	Hash.Write([]byte("key="))
	Hash.Write([]byte(appKey))

	hex.Encode(hashsum, Hash.Sum(nil))
	hashsum = bytes.ToUpper(hashsum)

	para.Signature = string(hashsum)
	return
}

作者:kiso    项目:cryptutil   
func sanitiseSecret(in []byte) []byte {
	in = bytes.ToUpper(in)
	in = bytes.Replace(in, []byte(" "), []byte(""), -1)
	if len(in)%8 != 0 {
		padding := 8 - (len(in) % 8)
		for i := 0; i < padding; i++ {
			in = append(in, '=')
		}
	}
	return in
}

作者:mingzh    项目:pileu   
func readRefSeq(fnaFile string) map[string][]byte {
	f := openFile(fnaFile)
	fastaReader := seq.NewFastaReader(f)
	fastaReader.DeflineParser = func(s string) string { return strings.Split(strings.TrimSpace(s), " ")[0] }
	m := make(map[string][]byte)
	sequences, err := fastaReader.ReadAll()
	raiseError(err)
	for _, s := range sequences {
		m[s.Id] = bytes.ToUpper(s.Seq)
	}
	return m
}

作者:GoodGuid    项目:gg-git-hook   
func confirm(prompt string) (bool, error) {
	fmt.Printf("%s (y/N): ", prompt)
	bio := bufio.NewReader(os.Stdin)
	line, _, err := bio.ReadLine()
	if err != nil {
		return false, err
	}
	if len(line) > 0 && bytes.ToUpper(line)[0] == 'Y' {
		return true, nil
	}
	return false, nil
}


问题


面经


文章

微信
公众号

扫码关注公众号