小编dav*_*puh的帖子

如何制作python 3 print()utf8

如何print("Some text")在UTF-8中使用python 3(3.1)到stdout,或者如何输出原始字节?

Test.py

TestText = "Test - ??????..šŠ??žŽ" # this is UTF-8
TestText2 = b"Test2 - \xc4\x81\xc4\x80\xc4\x93\xc4\x92\xc4\x8d\xc4\x8c..\xc5\xa1\xc5\xa0\xc5\xab\xc5\xaa\xc5\xbe\xc5\xbd" # just bytes
print(sys.getdefaultencoding())
print(sys.stdout.encoding)
print(TestText)
print(TestText.encode("utf8"))
print(TestText.encode("cp1252","replace"))
print(TestText2)
Run Code Online (Sandbox Code Playgroud)

输出(在CP1257和I中将字符替换为字节值[x00]):

utf-8
cp1257
Test - [xE2][xC2][xE7][C7][xE8][xC8]..[xF0][xD0][xFB][xDB][xFE][xDE]  
b'Test - \xc4\x81\xc4\x80\xc4\x93\xc4\x92\xc4\x8d\xc4\x8c..\xc5\xa1\xc5\xa0\xc5\xab\xc5\xaa\xc5\xbe\xc5\xbd'
b'Test - ??????..\x9a\x8a??\x9e\x8e'
b'Test2 - \xc4\x81\xc4\x80\xc4\x93\xc4\x92\xc4\x8d\xc4\x8c..\xc5\xa1\xc5\xa0\xc5\xab\xc5\xaa\xc5\xbe\xc5\xbd'
Run Code Online (Sandbox Code Playgroud)

print太聪明了......:D使用编码文本是没有意义的print(因为它总是只显示字节的表示而不是实际字节)并且根本不可能输出字节,因为无论如何打印并始终对其进行编码sys.stdout.encoding.

例如:print(chr(255))抛出错误:

Traceback (most recent call last):
  File "Test.py", line 1, in <module>
    print(chr(255));
  File "H:\Python31\lib\encodings\cp1257.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode …
Run Code Online (Sandbox Code Playgroud)

unicode encoding stdout utf-8 python-3.x

43
推荐指数
3
解决办法
6万
查看次数

创建交互式ruby控制台应用程序

我想制作用户启动它的交互式应用程序,并可以通过键入命令(某种shell)来完成各种任务

例:

./myapp.rb  
App says Hi  
Commands:   
  help - display help about command
  open - open task
  do - do action
Start>help open
  open <TaskName>
  opens specified task
Start>open Something  
Something>do SomeAction
  Success!
Something> (blinking cursor here)
Run Code Online (Sandbox Code Playgroud)

我搜索但找不到任何我可以专门用于控制台互动的红宝石宝石,所以我要自己制作...

我看着托尔,但那不是我想要的,也许我可以用它,但不确定......

它可能看起来像:

class Tasks
  attr_reader :opened_task

  desc "open <TaskName>", "opens specified task"
  def open(params)
  end

  desc "do <ActionName>", "do specified action"
  def do(params)
  end
end

tasks = Tasks.new
# theoretical Console class
console = Console.new
console.addCommand("open",tasks.method(:open),"open task")
console.addCommand("do",tasks.method(:do),"do action")
console.start("%s>",[*tasks.opened_task]) …
Run Code Online (Sandbox Code Playgroud)

ruby console interactive

14
推荐指数
4
解决办法
2万
查看次数

如何交叉编译MIPS?

我有一个类似于Dreambox的DVB接收器(机顶盒),它有MIPS cpu

嵌入了Linux,我可以用telnet连接它

问题是如何在C中编译简单的" Hello World "应用程序?哪里有工具链,SDK

c mips cross-compiling embedded-linux toolchain

13
推荐指数
2
解决办法
3万
查看次数

记录ODBC,SQL Server

如何通过ODBC驱动程序记录,跟踪或获取应用程序发送到Microsoft SQL Server 2008的查询(无需修改应用程序...)

也许它可以用SQL Server本身完成,或者ODBC有一些查询记录?

sql logging odbc profiling sql-server-2008

5
推荐指数
1
解决办法
7587
查看次数

比较XMM中的Quadwords

使用nasm在x86汇编中编程...

用MOVQ指令我把m64放到xmm

MOVQ xmm1, qword [mymem64]
Run Code Online (Sandbox Code Playgroud)

现在我想将其比较为零,以便可以使用Jcc

如何完成以及必须使用什么指令?(快速浏览手册,我没有找到)

PS。我更喜欢Intel语法:P

x86 assembly sse nasm

3
推荐指数
1
解决办法
3817
查看次数