我只需要在C#2.0中编写一个字符串反向函数(即LINQ不可用)并想出了这个:
public string Reverse(string text)
{
char[] cArray = text.ToCharArray();
string reverse = String.Empty;
for (int i = cArray.Length - 1; i > -1; i--)
{
reverse += cArray[i];
}
return reverse;
}
Run Code Online (Sandbox Code Playgroud)
就个人而言,我并不是对这个功能感到疯狂,并且我确信有更好的方法可以做到这一点.在那儿?
示例代码:
>>> import json
>>> json_string = json.dumps("??? ????")
>>> print json_string
"\u05d1\u05e8\u05d9 \u05e6\u05e7\u05dc\u05d4"
Run Code Online (Sandbox Code Playgroud)
问题是:它不是人类可读的.我(智能)用户想要使用JSON转储验证甚至编辑文本文件.(我宁愿不使用XML)
有没有办法将对象序列化为utf-8 json字符串(而不是\ uXXXX)?
这没有帮助:
>>> import json
>>> json_string = json.dumps("??? ????")
>>> print json_string
"\u05d1\u05e8\u05d9 \u05e6\u05e7\u05dc\u05d4"
Run Code Online (Sandbox Code Playgroud)
这工作,但如果任何子对象是python-unicode而不是utf-8,它将转储垃圾:
>>> import json
>>> json_string = json.dumps("??? ????")
>>> print json_string
"\u05d1\u05e8\u05d9 \u05e6\u05e7\u05dc\u05d4"
Run Code Online (Sandbox Code Playgroud) 我可以知道Unicode和ASCII之间的确切区别吗?
ASCII总共有128个字符(扩展集中为256个字符).
Unicode字符有任何大小规格吗?
什么是Unicode的基础以及为什么需要UTF-8或UTF-16?我在Google上研究了这个并在这里搜索过,但我不清楚.
在VSS进行文件比较时,有时会有消息说这两个文件有不同的UTF.为什么会这样呢?
请简单解释一下.
当一位同事向我展示这一行警告42时,我感到很困惑.
alert(2+?40);Run Code Online (Sandbox Code Playgroud)
事实证明,看起来像减号的实际上是一个神秘的Unicode字符,具有明显不同的语义.
这让我想知道为什么该字符在解析表达式时不会产生语法错误.我还想知道是否有更多的人物表现得像这样.
我有几个非常大的XML文件,我试图找到包含非ASCII字符的行.我尝试过以下方法:
grep -e "[\x{00FF}-\x{FFFF}]" file.xml
Run Code Online (Sandbox Code Playgroud)
但是这会返回文件中的每一行,无论该行是否包含指定范围内的字符.
我的语法有错吗?或者我做错了什么?我也尝试过:
egrep "[\x{00FF}-\x{FFFF}]" file.xml
Run Code Online (Sandbox Code Playgroud)
(模式周围有单引号和双引号).
是什么之间的区别Unicode,UTF8,UTF7,UTF16,UTF32,ASCII,和ANSI编码?
这些对程序员有什么帮助?
如何在不拆分R的情况下找到字符串的长度(字符串中的字符数)?我知道如何找到列表的长度而不是字符串的长度.
那么Unicode字符串怎么样?如何在Unicode字符串中找到长度(以字节为单位)和字符数(符文,符号)?
相关问题:
我正在运行一个处理30,000个类似文件的程序.随机数量正在停止并产生此错误......
File "C:\Importer\src\dfman\importer.py", line 26, in import_chr
data = pd.read_csv(filepath, names=fields)
File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 400, in parser_f
return _read(filepath_or_buffer, kwds)
File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 205, in _read
return parser.read()
File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 608, in read
ret = self._engine.read(nrows)
File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 1028, in read
data = self._reader.read(nrows)
File "parser.pyx", line 706, in pandas.parser.TextReader.read (pandas\parser.c:6745)
File "parser.pyx", line 728, in pandas.parser.TextReader._read_low_memory (pandas\parser.c:6964)
File "parser.pyx", line 804, in pandas.parser.TextReader._read_rows (pandas\parser.c:7780)
File "parser.pyx", line 890, in pandas.parser.TextReader._convert_column_data (pandas\parser.c:8793)
File "parser.pyx", line 950, in pandas.parser.TextReader._convert_tokens …Run Code Online (Sandbox Code Playgroud) 我在理解文本读取和写入文件时遇到了一些大脑失败(Python 2.4).
# The string, which has an a-acute in it.
ss = u'Capit\xe1n'
ss8 = ss.encode('utf8')
repr(ss), repr(ss8)
Run Code Online (Sandbox Code Playgroud)
("u'Capit\xe1n'","'Capit\xc3\xa1n'")
print ss, ss8
print >> open('f1','w'), ss8
>>> file('f1').read()
'Capit\xc3\xa1n\n'
Run Code Online (Sandbox Code Playgroud)
所以我输入Capit\xc3\xa1n我最喜欢的编辑器,在文件f2中.
然后:
>>> open('f1').read()
'Capit\xc3\xa1n\n'
>>> open('f2').read()
'Capit\\xc3\\xa1n\n'
>>> open('f1').read().decode('utf8')
u'Capit\xe1n\n'
>>> open('f2').read().decode('utf8')
u'Capit\\xc3\\xa1n\n'
Run Code Online (Sandbox Code Playgroud)
我在这里不理解什么?显然,我缺少一些重要的魔法(或者很有道理).在文本文件中键入什么来获得正确的转换?
我真正没有想到的是,UTF-8表示的重点是,如果你真的不能让Python识别它,那么它来自外部.也许我应该只是JSON转储字符串,并使用它,因为它有一个asciiable表示!更重要的是,当从文件进入时,Python会识别和解码这个Unicode对象的ASCII表示吗?如果是这样,我怎么得到它?
>>> print simplejson.dumps(ss)
'"Capit\u00e1n"'
>>> print >> file('f3','w'), simplejson.dumps(ss)
>>> simplejson.load(open('f3'))
u'Capit\xe1n'
Run Code Online (Sandbox Code Playgroud)