BSDシステムのためにvis(3)
とunvis(3)
をエミュレートする類似のライブラリ/パッケージはありますか?私は空白などの特殊文字を含む文字列の表現を必要とする何かをしようとしています。ない正確ライブラリー/パッケージは文字列エンコーディングを処理しますか?
答えて
ありません、しかし、あなたはURLエンコードを探しているなら、あなたはnet/url
パッケージにしたいすべてのURLエンコードを行うことができます
参照:Encode/decode URLs
と:Is there any example and usage of url.QueryEscape ? for golang
サンプルコード:
fmt.Println(url.QueryEscape("https://stackoverflow.com/questions/tagged/go test\r \r\n"))
出力:
http%3A%2F%2Fstackoverflow.com%2Fquestions%2Ftagged%2Fgo+test%0D+%0D%0A
たり、あなた自身のを書く:
囲碁文字列では、エンコードUTF-8
あり、そして実際にバイトの読み出し専用のスライスである:
str := "UTF-8"
bytes := []byte(str) // string to slice
fmt.Println(str, bytes) // UTF8 [85 84 70 45 56]
または変換:
あなたはこのようなバイトを得ることができますこのような文字列のバイト:
s := string([]byte{85, 84, 70, 45, 56, 32, 0xc2, 0xb5}) // slice to string
fmt.Println(s) // UTF-8 µ
に0xC2 0xB5参照文字 'MICROのSIGN'(U + 00B5)はUTF-8(16進数)である。http://www.fileformat.info/info/unicode/char/00b5/index.htm
また、あなたがこのようなバイトことがあります。
for i := 0; i < len(s); i++ {
fmt.Printf("%d: %d, ", i, s[i])
//0: 85, 1: 84, 2: 70, 3: 45, 4: 56, 5: 32, 6: 194, 7: 181,
}
またはコンパクトHexフォーマットで:
fmt.Printf("% x\n", s) // 55 54 46 2d 38 20 c2 b5
と、このようなルーン(Unicodeのコードポイント)を取得:
for i, v := range s {
fmt.Printf("%d: %v, ", i, v)
//0: 85, 1: 84, 2: 70, 3: 45, 4: 56, 5: 32, 6: 181,
}
と文字列にルーンを変換:文字列へのルーン文字の
r := rune(181)
fmt.Printf("%#U\n", r) // U+00B5 'µ'
st := "this is UTF-8: " + string(r)
fmt.Println(st) // this is UTF-8: µ
変換スライス:
rs := []rune{181, 181, 181, 181}
sr := string(rs)
fmt.Println(sr) // µµµµ
ルーン文字のスライスに変換する文字列:
br := []rune(sr)
fmt.Println(br) //[181 181 181 181]
%のQ(引用された)動詞の意志文字列内の印刷不可能なバイトシーケンスをエスケープして、出力が明白になるようにします。
fmt.Printf("%+q \n", "Hello, 世界") // "Hello, \u4e16\u754c"
unicode.IsSpace
は、ルーンがUnicodeのホワイトスペースプロパティで定義されたスペース文字かどうかを報告します。ラテン1空間では
'\ t'、 '\ n'、 '\ v'、 '\ f'、 '\ r'、 ''、U + 0085(NEL)、U + 00A0 (NBSP)。 サンプルコード:
package main
import (
"bytes"
"fmt"
"unicode"
)
func main() {
var buf bytes.Buffer
s := "\u4e16\u754c \u0020\r\n 世界"
for _, r := range s {
if unicode.IsSpace(r) {
buf.WriteString(fmt.Sprintf("\\u%04x", r))
} else {
buf.WriteString(string(r))
}
}
st := buf.String()
fmt.Println(st)
}
出力:あなたはunicode/utf8
、unicode
、strconv
とstrings
パッケージでより多くの機能を見つけることができます
世界\u0020\u0020\u000d\u000a\u0020\u0020世界
:
https://golang.org/pkg/unicode/utf8/
https://golang.org/pkg/unicode/
https://golang.org/pkg/strings/
https://golang.org/pkg/strconv/
- 1. javaで文字列エンコーディングを処理するには?
- 2. Pythonのデフォルトの文字エンコーディング処理
- 3. 文字列処理
- 4. kshの文字列処理
- 5. MATLAB文字列処理
- 6. HTML文字列エンコーディング
- 7. 文字列エンコーディングhtml
- 8. Java - エンコーディング文字列
- 9. PHP文字列エンコーディング
- 10. 文字列の文字を反復処理する方法は?
- 11. Powershellスクリプトからの文字列処理
- 12. ANTLR4で文字列を処理する
- 13. PHPで文字列を処理する
- 14. Java.ioエンコーディングとは異なる出力エンコーディングを処理していますか?
- 15. ブラウザは文字エンコーディングを指定する<meta>タグをどのように処理しますか?
- 16. PHPで文字エンコーディングを理解する
- 17. GCC 4.7ソース文字のエンコーディングと実行文字列リテラルのエンコーディング?
- 18. Unicodeを正しく処理するSTL文字列クラスはありますか?
- 19. App Engineは文字エンコーディングをオンラインとローカルで異なる方法で処理しますか?
- 20. 文字エンコーディングは
- 21. preg_match_all()はどのように文字列を処理しますか?
- 22. 目的C文字列エンコーディング
- 23. Python文字列エンコーディングxmlcharrefreplaceデコード
- 24. PHPのデフォルト文字列エンコーディング
- 25. Netflix Zuulクエリ文字列エンコーディング
- 26. Symfony2配列から文字列への変換時のエラー処理エラー処理
- 27. json.netから受信したutf8文字列を正しく処理します。
- 28. Perlでのクエリ文字列のユニコード処理の処理
- 29. テンプレートを使用して文字列、文字列、および文字列を処理する
- 30. パンダデータフレームの前処理文字列データ
[strconv.Quote](https://golang.org/pkg/strconv/#Quote)またはQuoteToASCIIは、あなたが探している何をすればいいですか? – hobbs