草庐IT

UTF8Encoding

全部标签

xml - golang XML 以 'invalid UTF-8' 错误结束解析

我在使用Unicode字符解码XML时遇到问题。当尝试用标准英文字符解析XML时,它会解析整个文件并正确解码,没有任何问题。但是,如果XML文件包含ñ、á或–(em-dash)等字符,它将停止解析XML并仅返回数组中在的项目之前的项目那个角色。例如,这里是XML:这是我的Go代码(粗略的,没有任何导入):#main.gotypeResponsestruct{Items[]Items`xml:"items"`}typeItemsstruct{Item[]Item`xml:"item"`}typeItemstruct{IDItemID`xml:"ID"`}typeItemIDstruct{

string - 将 "=?UTF 8?.."(RFC 2047) 转换为 golang 中的常规字符串

我正在使用一个API,它为其他语言文本返回类似这样的内容:=?UTF8?B?2KfZhNiu2LfZiNin2Kog2KfZhNiq2Yog2KrYrNmF2Lkg2KjZitmG?==?UTF8?B?INit2YHYuCDYp9mE2YLYsdin2ZPZhiDYp9mE2YPYsdmK2YUg2YjZgQ==?==?UTF8?B?2YfZhdmHINmF2YXYpyDYp9mU2YXZhNin2Ycg2KfZhNi52YTYp9mF?==?UTF8?B?2Kkg2LnYqNivINin2YTZhNmHINin2YTYutiv2YrYp9mGLnBkZg==?=这是一种常见的格式吗?

powershell - Windows 中的 Git Shell : patch's default character encoding is UCS-2 Little Endian - how to change this to ANSI or UTF-8 without BOM?

在Windows中使用GitShell创建diff补丁(使用GitHubforWindows时),补丁的字符编码将为UCS-2Little根据Notepad++的Endian(参见下面的屏幕截图)。我怎样才能改变这种行为,并强制git使用没有BOM字符编码的ANSI或UTF-8创建补丁?因为无法应用UCS-2LittleEndian编码的补丁而导致问题,我必须手动将其转换为ANSI。如果我不这样做,我会收到“fatal:unrecognizedinput”错误。从那时起,我也意识到我必须在Notepad++中手动将EOL从Windows格式(\r\n)转换为UNIX(\n)(编辑>EO

git, msysgit, accents, utf-8, 最终答案

我在某些地方读到git(或只是msysgit?)和字符编码存在问题-我相信这只是文件名的问题。我想要的是关于以下方面的一些“权威”(或至少是权威的)信息:“问题”到底是什么?(症状)原因是什么?(简要)在什么情况下这是一个表演障碍?是否有任何解决方案,或者是否有任何解决方法?我希望这个问题不会太模糊,我认为将所有这些信息放在一个地方以便能够向人们指出它会很好...... 最佳答案 2021年10月更新:Git2.34(2021年第4季度)更新了unicode字符宽度表(用于输出对齐)。参见commit187fc8b(2021年9月1

git - 我可以让 git 将 UTF-16 文件识别为文本吗?

我在git中跟踪一个VirtualPC虚拟机文件(*.vmc),在进行更改后,git将该文件识别为二进制文件,并且不会为我区分它。我发现该文件是用UTF-16编码的。可以教git识别这个文件是文本文件并适本地处理它吗?我在Cygwin下使用git,core.autocrlf设置为false。如果需要,我可以在UNIX下使用mSysGit或git。 最佳答案 我已经为这个问题苦苦挣扎了一段时间,并且刚刚发现(对我来说)一个完美的解决方案:$gitconfig--globaldiff.toolvimdiff#ormerge.toolto

c - 如何在 C 中读/写 UTF8 文本文件?

我正在尝试从一个文本文件中读取UTF8文本,然后将其中的一些打印到另一个文件中。我正在使用Linux和gcc编译器。这是我正在使用的代码:#include#includeintmain(){FILE*fin;FILE*fout;intcharacter;fin=fopen("in.txt","r");fout=fopen("out.txt","w");while((character=fgetc(fin))!=EOF){putchar(character);//Itdisplaystherightcharacter(UTF8)intheterminalfprintf(fout,"%c"

python - 格式化固定宽度的字符串(unicode 和 utf8)

我需要以类似表格的格式解析和输出一些数据。输入采用unicode编码。这是测试脚本:#!/usr/bin/envpythons1=u'abcd's2=u'\u03b1\u03b2\u03b3\u03b4'print'1234567890'print'%5s'%s1print'%5s'%s2在像test.py这样的简单调用的情况下,它按预期工作:1234567890abcdαβγδ但是如果我尝试将输出重定向到文件test.py>a.txt,我会收到错误消息:Traceback(mostrecentcalllast):File"./test.py",line8,inprint'%5s'%s

c - Linux 上 UTF-16 的 wchar_t?

在Linux上使用wchar_t*存储UTF-16编码的文本是否有意义?明显的问题是wchar_t在Linux上是四个字节,而UTF-16通常每个字符需要两个(或有时两组两个)字节。我正在尝试使用完全可以做到这一点的第三方库,但它看起来很困惑。看起来事情搞砸了,因为在Windows上wchar_t是两个字节,但我只是想仔细检查一下,因为它是一个非常昂贵的商业图书馆,可能我只是不明白。 最佳答案 虽然可以将UTF-16存储在wchar_t中,但此类wchar_t值(或用作字符串的数组)不适合与任何标准一起使用采用wchar_t或指向w

linux - 如何重置 emacs 以 utf-8-unix 字符编码保存文件?

我有一个问题。我发现emacs最近停止使用默认字符集“utf-8-unix”保存我所有的新文件。我不明白我做了什么,但是当我打开一个文件时,在迷你缓冲区上方我看到“--:---”而不是“-U:---”,其中“U”表示该文件使用utf-8-unix字符集保存。如何重置emacs以将文件保存在正确的编码系统中??? 最佳答案 这是我的设置:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ENCODING;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;C-hCRET;;M

c++ - 跨平台 C++ : Use the native string encoding or standardise across platforms?

我们特别关注Windows和Linux的开发,并提出了两种不同的方法,它们似乎都有其优点。Windows中自然的unicode字符串类型是UTF-16,Linux中是UTF-8。我们无法确定最佳方法是否:在我们所有的应用程序逻辑(和持久数据)中对两者之一进行标准化,并使其他平台进行适当的转换将操作系统的自然格式用于应用程序逻辑(从而调用操作系统),并且仅在IPC和持久性点进行转换。对我来说,他们似乎彼此一样好。 最佳答案 andUTF-8inlinux.对于现代Linux来说,这几乎是正确的。实际上编码取决于使用的API或库。一些硬