本文整理汇总了Golang中golang.org/x/text/encoding/unicode.UTF16函数的典型用法代码示例。如果您正苦于以下问题:Golang UTF16函数的具体用法?Golang UTF16怎么用?Golang UTF16使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了UTF16函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: convertUtf8ToUtf16LE
func convertUtf8ToUtf16LE(message string) (string, error) {
utf16le := unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM)
utfEncoder := utf16le.NewEncoder()
ut16LeEncodedMessage, err := utfEncoder.String(message)
return ut16LeEncodedMessage, err
}
开发者ID:arizvisa,项目名称:packer,代码行数:7,代码来源:powershell.go
示例2: saveConns
func saveConns(conf *types.Configuration) {
filename := replaceHome(connectionsPath)
tmp := filename + ".tmp"
wr, err := os.Create(tmp)
p(err, "opening "+filename)
defer func() {
if err := os.Rename(tmp, filename); err != nil {
p(os.Remove(filename), "deleting old connections.xml")
p(os.Rename(tmp, filename), "overwriting connections.xml")
}
}()
defer wr.Close()
encoding := unicode.UTF16(unicode.LittleEndian, unicode.ExpectBOM)
textEncoder := encoding.NewEncoder()
writer := textEncoder.Writer(wr)
fmt.Fprintln(writer, `<?xml version="1.0" encoding="utf-16"?>
<!-- ****************************************************************-->
<!-- * *-->
<!-- * PuTTY Configuration Manager save file - All right reserved. *-->
<!-- * *-->
<!-- ****************************************************************-->
<!-- The following lines can be modified at your own risks. -->`)
encoder := xml.NewEncoder(writer)
encoder.Indent("", " ")
p(encoder.Encode(&conf), "encoding xml")
}
开发者ID:cfstras,项目名称:pcm,代码行数:29,代码来源:pcm.go
示例3: getEncoding
func getEncoding() encoding.Encoding {
switch config.encoding {
case "utf-16":
return unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM)
case "utf-16be-with-signature":
return unicode.UTF16(unicode.BigEndian, unicode.ExpectBOM)
case "utf-16le-with-signature":
return unicode.UTF16(unicode.LittleEndian, unicode.ExpectBOM)
case "euc-jp":
return japanese.EUCJP
case "sjis":
return japanese.ShiftJIS
default:
return nil
}
}
开发者ID:kintone,项目名称:cli-kintone,代码行数:16,代码来源:main.go
示例4: String
// String is a best-effort attempt to get a UTF-8 encoded version of
// Value. Only MicrosoftUnicode (3,1 ,X), MacRomain (1,0,X) and Unicode platform
// strings are supported.
func (nameEntry *NameEntry) String() string {
if nameEntry.PlatformID == PlatformUnicode || (nameEntry.PlatformID == PlatformMicrosoft &&
nameEntry.EncodingID == PlatformEncodingMicrosoftUnicode) {
decoder := unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM).NewDecoder()
outstr, _, err := transform.String(decoder, string(nameEntry.Value))
if err == nil {
return outstr
}
}
if nameEntry.PlatformID == PlatformMac &&
nameEntry.EncodingID == PlatformEncodingMacRoman {
decoder := charmap.Macintosh.NewDecoder()
outstr, _, err := transform.String(decoder, string(nameEntry.Value))
if err == nil {
return outstr
}
}
return string(nameEntry.Value)
}
开发者ID:ConradIrwin,项目名称:font,代码行数:31,代码来源:table_name.go
示例5: Encode
func Encode(code uint8, text string) []byte {
switch code { // в зависимости от подходящей кодировки выбираем соответствующий метод кодирования
case 8: // ucs8
enc := unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM).NewEncoder()
es, _, _ := transform.Bytes(enc, []byte(text))
return es
case 3: // latin1
es, _, _ := transform.Bytes(charmap.Windows1252.NewEncoder(), []byte(text))
return es
case 0: // декодируем в GSM 03.38
var result bytes.Buffer
for _, r := range text {
if nr, ok := utf8GsmChars[r]; ok { // делаем замены известным символам
result.WriteString(nr)
continue
}
if r > '\u007F' { // удаляем все, что не входит в формат
result.WriteRune('?')
continue
}
result.WriteRune(r) // добавляем как есть
}
return result.Bytes()
default:
return []byte(text)
}
}
开发者ID:mdigger,项目名称:mxsms2,代码行数:27,代码来源:coder.go
示例6: Decode
// Decode from UCS2.
func (s UCS2) Decode() []byte {
e := unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM)
es, _, err := transform.Bytes(e.NewDecoder(), s)
if err != nil {
return s
}
return es
}
开发者ID:VDVsx,项目名称:go-smpp,代码行数:9,代码来源:ucs2.go
示例7: readFile
// read umeng file, need convert utf16-le(with bom) to utf8
func readFile(path string) (reader io.Reader, err error) {
e := unicode.UTF16(unicode.LittleEndian, unicode.ExpectBOM)
file, err := os.Open(path)
if err != nil {
return
}
reader = transform.NewReader(file, e.NewDecoder())
return
}
开发者ID:cgcgbcbc,项目名称:umeng2github,代码行数:12,代码来源:util.go
示例8: NewReader
// NewReader wraps a Reader to decode Unicode to UTF-8 as it reads.
func NewReader(r io.Reader, d EncodingHint) io.Reader {
var decoder *encoding.Decoder
switch d {
case UTF8:
// Make a transformer that assumes UTF-8 but abides by the BOM.
decoder = unicode.UTF8.NewDecoder()
case UTF16LE:
// Make an tranformer that decodes MS-Windows (16LE) UTF files:
winutf := unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM)
// Make a transformer that is like winutf, but abides by BOM if found:
decoder = winutf.NewDecoder()
case UTF16BE:
// Make an tranformer that decodes UTF-16BE files:
utf16be := unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM)
// Make a transformer that is like utf16be, but abides by BOM if found:
decoder = utf16be.NewDecoder()
}
// Make a Reader that uses utf16bom:
return transform.NewReader(r, unicode.BOMOverride(decoder))
}
开发者ID:TomOnTime,项目名称:utfutil,代码行数:22,代码来源:utfutil.go
示例9: TestName
func TestName(t *testing.T) {
for i, tc := range []struct {
desc string
enc encoding.Encoding
name string
err error
}{{
"defined encoding",
charmap.ISO8859_2,
"iso-8859-2",
nil,
}, {
"defined Unicode encoding",
unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM),
"utf-16be",
nil,
}, {
"undefined Unicode encoding in HTML standard",
unicode.UTF16(unicode.BigEndian, unicode.UseBOM),
"",
errUnsupported,
}, {
"undefined other encoding in HTML standard",
charmap.CodePage437,
"",
errUnsupported,
}, {
"unknown encoding",
encoding.Nop,
"",
errUnknown,
}} {
name, err := Name(tc.enc)
if name != tc.name || err != tc.err {
t.Errorf("%d:%s: got %q, %v; want %q, %v", i, tc.desc, name, err, tc.name, tc.err)
}
}
}
开发者ID:dylanpoe,项目名称:golang.org,代码行数:38,代码来源:htmlindex_test.go
示例10: ExampleUTF8Validator
func ExampleUTF8Validator() {
for i := 0; i < 2; i++ {
var transformer transform.Transformer
transformer = unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM).NewEncoder()
if i == 1 {
transformer = transform.Chain(encoding.UTF8Validator, transformer)
}
dst := make([]byte, 256)
src := []byte("abc\xffxyz") // src is invalid UTF-8.
nDst, nSrc, err := transformer.Transform(dst, src, true)
fmt.Printf("i=%d: produced %q, consumed %q, error %v\n",
i, dst[:nDst], src[:nSrc], err)
}
// Output:
// i=0: produced "\x00a\x00b\x00c\xff\xfd\x00x\x00y\x00z", consumed "abc\xffxyz", error <nil>
// i=1: produced "\x00a\x00b\x00c", consumed "abc", error encoding: invalid UTF-8
}
开发者ID:dylanpoe,项目名称:golang.org,代码行数:17,代码来源:example_test.go
示例11: AddUnicodeEntry
// AddUnicodeEntry adds an entry to the name table for the 'Unicode' platform,
// with Default Encoding (UTF-16). It returns an error if the value cannot be
// represented in UTF-16.
func (table *TableName) AddUnicodeEntry(nameId NameID, value string) error {
encoder := unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM).NewEncoder()
outstr, _, err := transform.String(encoder, value)
if err != nil {
return err
}
table.Add(&NameEntry{
PlatformID: PlatformUnicode,
EncodingID: PlatformEncodingUnicodeDefault,
LanguageID: PlatformLanguageUnicodeDefault,
NameID: nameId,
Value: []byte(outstr),
})
return nil
}
开发者ID:ConradIrwin,项目名称:font,代码行数:20,代码来源:table_name.go
示例12: Decode
func Decode(code uint8, text []byte) string {
switch code {
case 8: // UCS2
es, _, _ := transform.Bytes(
unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM).NewDecoder(), text)
return string(es)
case 3: // latin1 (windows1252)
es, _, _ := transform.Bytes(charmap.Windows1252.NewDecoder(), text)
return string(es)
case 0: // декодируем из формата GSM 03.38
var result bytes.Buffer
for _, r := range text {
if nr, ok := gsmUtf8Chars[rune(r)]; ok { // делаем замены известным символам
result.WriteString(nr)
continue
}
result.WriteByte(r) // добавляем как есть
}
return result.String()
default:
return string(text)
}
}
开发者ID:mdigger,项目名称:mxsms2,代码行数:23,代码来源:coder.go
示例13: newScannerUTF16or8
// Creates a scanner similar to os.Open() but decodes the file as UTF-16
// if the special byte order mark is present.
func newScannerUTF16or8(filename string) (utfScanner, error) {
// Read the file into a []byte:
file, err := os.Open(filename)
if err != nil {
return nil, err
}
// Check for BOM
marker := make([]byte, 2)
numread, err := io.ReadAtLeast(file, marker, 2)
file.Seek(0, 0)
if numread == 2 && err == nil && ((marker[0] == 0xFE && marker[1] == 0xFF) || (marker[0] == 0xFF && marker[1] == 0xFE)) {
// Make an tranformer that converts MS-Win default to UTF8:
win16be := unicode.UTF16(unicode.BigEndian, unicode.UseBOM)
// Make a transformer that is like win16be, but abides by BOM:
utf16bom := unicode.BOMOverride(win16be.NewDecoder())
// Make a Reader that uses utf16bom:
unicodeReader := transform.NewReader(file, utf16bom)
return unicodeReader, nil
}
return file, nil
}
开发者ID:qbit,项目名称:client,代码行数:26,代码来源:cmd_log_send_windows.go
示例14: GetCharset
func GetCharset(charset string) encoding.Encoding {
switch strings.ToUpper(charset) {
case "GB2312", "GB18030":
return simplifiedchinese.GB18030
case "HZ-GB2312":
return simplifiedchinese.HZGB2312
case "GBK":
return simplifiedchinese.GBK
case "BIG5":
return traditionalchinese.Big5
case "EUC-JP":
return japanese.EUCJP
case "ISO2022JP":
return japanese.ISO2022JP
case "SHIFTJIS":
return japanese.ShiftJIS
case "EUC-KR":
return korean.EUCKR
case "UTF8", "UTF-8":
return encoding.Nop
case "UTF16-BOM", "UTF-16-BOM":
return unicode.UTF16(unicode.BigEndian, unicode.UseBOM)
case "UTF16-BE-BOM", "UTF-16-BE-BOM":
return unicode.UTF16(unicode.BigEndian, unicode.UseBOM)
case "UTF16-LE-BOM", "UTF-16-LE-BOM":
return unicode.UTF16(unicode.LittleEndian, unicode.UseBOM)
case "UTF16", "UTF-16":
return unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM)
case "UTF16-BE", "UTF-16-BE":
return unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM)
case "UTF16-LE", "UTF-16-LE":
return unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM)
//case "UTF32", "UTF-32":
// return simplifiedchinese.GBK
default:
return nil
}
}
开发者ID:runner-mei,项目名称:delayed_job,代码行数:38,代码来源:charset.go
示例15: deployStartup
func deployStartup(user *runtime.OSUser, configFile string, exePath string) error {
scheduledTaskUTF8 := []byte(strings.Replace(`<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2016-04-28T17:25:08.4654422</Date>
<Author>GenericWorker</Author>
<Description>Runs the generic worker.</Description>
</RegistrationInfo>
<Triggers>
<LogonTrigger>
<Enabled>true</Enabled>
<UserId>GenericWorker</UserId>
</LogonTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>GenericWorker</UserId>
<LogonType>InteractiveToken</LogonType>
<RunLevel>HighestAvailable</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT0S</ExecutionTimeLimit>
<Priority>3</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>C:\generic-worker\run-generic-worker.bat</Command>
</Exec>
</Actions>
</Task>`, "\n", "\r\n", -1))
utf16Encoder := unicode.UTF16(unicode.LittleEndian, unicode.UseBOM).NewEncoder()
scheduledTaskUTF16, err := utf16Encoder.Bytes(scheduledTaskUTF8)
if err != nil {
return fmt.Errorf("INTERNAL ERROR: Could not UTF16-encode (static) scheduled task: %s\n\nError received: %s", scheduledTaskUTF8, err)
}
xmlFilePath := filepath.Join(filepath.Dir(exePath), "Run Generic Worker.xml")
err = ioutil.WriteFile(xmlFilePath, scheduledTaskUTF16, 0644)
if err != nil {
return fmt.Errorf("I was not able to write the file \"Run Generic Worker.xml\" to file location %q with 0644 permissions, due to: %s", xmlFilePath, err)
}
err = runtime.RunCommands(false, []string{"schtasks", "/create", "/tn", "Run Generic Worker on login", "/xml", xmlFilePath})
if err != nil {
return fmt.Errorf("Not able to schedule task \"Run Generic Worker on login\" using schtasks command, due to error: %s\n\nAlso see stderr/stdout logs for output of the command that failed.", err)
}
k, _, err := registry.CreateKey(registry.LOCAL_MACHINE, `SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon`, registry.WRITE)
if err != nil {
return fmt.Errorf(`Was not able to create registry key 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' due to %s`, err)
}
defer k.Close()
err = k.SetDWordValue("AutoAdminLogon", 1)
if err != nil {
return fmt.Errorf(`Was not able to set registry entry 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoAdminLogon' to 1 due to %s`, err)
}
err = k.SetStringValue("DefaultUserName", user.Name)
if err != nil {
return fmt.Errorf(`Was not able to set registry entry 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName' to %q due to %s`, user.Name, err)
}
err = k.SetStringValue("DefaultPassword", user.Password)
if err != nil {
return fmt.Errorf(`Was not able to set registry entry 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultPassword' to %q due to %s`, user.Password, err)
}
batScriptFilePath := filepath.Join(filepath.Dir(exePath), "run-generic-worker.bat")
batScriptContents := []byte(strings.Join([]string{
`:: run the generic worker`,
``,
`:: cd to folder containing this script`,
`pushd %~dp0`,
``,
`.\generic-worker.exe run --configure-for-aws > .\generic-worker.log 2>&1`,
}, "\r\n"))
err = ioutil.WriteFile(batScriptFilePath, batScriptContents, 0755)
if err != nil {
return fmt.Errorf("Was not able to create file %q with access permissions 0755 due to %s", batScriptFilePath, err)
}
return nil
}
开发者ID:petemoore,项目名称:generic-worker,代码行数:93,代码来源:plat_windows.go
示例16: TestUTF16
nDst, nSrc, err := encoding.UTF8Validator.Transform(dst, []byte(tc.src), tc.atEOF)
if nDst < 0 || len(dst) < nDst {
t.Errorf("%s: nDst=%d out of range", tc.desc, nDst)
continue
}
got := string(dst[:nDst])
if got != tc.want || nSrc != len(tc.want) || err != tc.wantErr {
t.Errorf("%s:\ngot %+q, %d, %v\nwant %+q, %d, %v",
tc.desc, got, nSrc, err, tc.want, len(tc.want), tc.wantErr)
continue
}
}
}
var (
utf16LEIB = unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM) // UTF-16LE (atypical interpretation)
utf16LEUB = unicode.UTF16(unicode.LittleEndian, unicode.UseBOM) // UTF-16, LE
utf16LEEB = unicode.UTF16(unicode.LittleEndian, unicode.ExpectBOM) // UTF-16, LE, Expect
utf16BEIB = unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM) // UTF-16BE (atypical interpretation)
utf16BEUB = unicode.UTF16(unicode.BigEndian, unicode.UseBOM) // UTF-16 default
utf16BEEB = unicode.UTF16(unicode.BigEndian, unicode.ExpectBOM) // UTF-16 Expect
)
func TestUTF16(t *testing.T) {
testCases := []struct {
desc string
src string
notEOF bool // the inverse of atEOF
sizeDst int
want string
nSrc int
开发者ID:msoap,项目名称:html2data,代码行数:31,代码来源:encoding_test.go
示例17:
utf8: "Heļlo",
},
{
e: charmap.Windows1258,
encoded: "Hell\xf5",
utf8: "Hellơ",
},
{
e: charmap.XUserDefined,
encoded: "\x00\x40\x7f\x80\xab\xff",
utf8: "\u0000\u0040\u007f\uf780\uf7ab\uf7ff",
},
// UTF-16 tests.
{
e: unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM),
encoded: "\x00\x57\x00\xe4\xd8\x35\xdd\x65",
utf8: "\x57\u00e4\U0001d565",
},
{
e: unicode.UTF16(unicode.BigEndian, unicode.ExpectBOM),
encPrefix: "\xfe\xff",
encoded: "\x00\x57\x00\xe4\xd8\x35\xdd\x65",
utf8: "\x57\u00e4\U0001d565",
},
{
e: unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM),
encoded: "\x57\x00\xe4\x00\x35\xd8\x65\xdd",
utf8: "\x57\u00e4\U0001d565",
},
{
开发者ID:TriangleGo,项目名称:golang.org,代码行数:31,代码来源:encoding_test.go
示例18: getNode
for i, t := range tickets {
ns[i] = getNode(t)
}
return ns
}
func getNode(t string) *srvpb.Node {
for _, n := range nodes {
if n.Ticket == t {
return n
}
}
return &srvpb.Node{Ticket: t}
}
var utf16LE = unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM)
func encodeText(e encoding.Encoding, text string) []byte {
res, _, err := transform.Bytes(e.NewEncoder(), []byte(text))
if err != nil {
panic(err)
}
return res
}
func TestNodes(t *testing.T) {
st := tbl.Construct(t)
for _, node := range tbl.Nodes {
reply, err := st.Nodes(ctx, &xpb.NodesRequest{
Ticket: []string{node.Ticket},
开发者ID:jwatt,项目名称:kythe,代码行数:31,代码来源:xrefs_test.go
示例19:
var (
charsetDetector = chardet.NewTextDetector()
charsetDetectors = map[string]encoding.Encoding{
"Big5": traditionalchinese.Big5,
"EUC-JP": japanese.EUCJP,
"EUC-KR": korean.EUCKR,
"GB-18030": simplifiedchinese.GB18030,
"ISO-2022-JP": japanese.ISO2022JP,
"ISO-8859-5": charmap.ISO8859_5,
"ISO-8859-6": charmap.ISO8859_6,
"ISO-8859-7": charmap.ISO8859_7,
"ISO-8859-8": charmap.ISO8859_8,
"ISO-8859-8-I": charmap.ISO8859_8I,
"KOI8-R": charmap.KOI8R,
"Shift_JIS": japanese.ShiftJIS,
"UTF-16BE": unicode.UTF16(unicode.BigEndian, unicode.UseBOM),
"UTF-16LE": unicode.UTF16(unicode.LittleEndian, unicode.UseBOM),
"windows-1251": charmap.Windows1251,
"windows-1252": charmap.Windows1252,
"windows-1253": charmap.Windows1253,
"windows-1254": charmap.Windows1254,
"windows-1255": charmap.Windows1255,
"windows-1256": charmap.Windows1256,
// Decoders don't exist for these
// "IBM420_ltr": nil,
// "IBM420_rtl": nil,
// "IBM424_ltr": nil,
// "IBM424_rtl": nil,
// "ISO-2022-CN": nil,
// "ISO-2022-KR": nil,
开发者ID:oudommeas,项目名称:swan,代码行数:31,代码来源:utf8.go
示例20: ConvertToUTF8String
"x-sjis": {japanese.ShiftJIS, "shift_jis"},
"cseuckr": {korean.EUCKR, "euc-kr"},
"csksc56011987": {korean.EUCKR, "euc-kr"},
"euc-kr": {korean.EUCKR, "euc-kr"},
"iso-ir-149": {korean.EUCKR, "euc-kr"},
"korean": {korean.EUCKR, "euc-kr"},
"ks_c_5601-1987": {korean.EUCKR, "euc-kr"},
"ks_c_5601-1989": {korean.EUCKR, "euc-kr"},
"ksc5601": {korean.EUCKR, "euc-kr"},
"ksc_5601": {korean.EUCKR, "euc-kr"},
"windows-949": {korean.EUCKR, "euc-kr"},
"csiso2022kr": {encoding.Replacement, "replacement"},
"iso-2022-kr": {encoding.Replacement, "replacement"},
"iso-2022-cn": {encoding.Replacement, "replacement"},
"iso-2022-cn-ext": {encoding.Replacement, "replacement"},
"utf-16be": {unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM), "utf-16be"},
"utf-16": {unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM), "utf-16le"},
"utf-16le": {unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM), "utf-16le"},
"x-user-defined": {charmap.XUserDefined, "x-user-defined"},
}
var charsetRegexp *regexp.Regexp
var errParsingCharset = errors.New("Could not find a valid charset in the HTML body")
func ConvertToUTF8String(charset string, textBytes []byte) (string, error) {
if strings.ToLower(charset) == "utf-8" {
return string(textBytes), nil
}
item, ok := encodings[strings.ToLower(charset)]
if !ok {
return "", fmt.Errorf("Unsupport charset %s", charset)
开发者ID:redsift,项目名称:go.enmime,代码行数:31,代码来源:charsets.go
注:本文中的golang.org/x/text/encoding/unicode.UTF16函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论