小编fro*_*uds的帖子

无法在python IDE中输入unicode(Mac OS X)

我正在尝试在默认的python IDE中收集一些unicode raw_input,据我所知,它应该像下面这样简单:

>>> c = raw_input()
???
>>> print c
???
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试输入unicode字符时,计算机会发出一些声音,最后会出现一个空字符串.(为此,我在时间点击IME切换器并选择适当的输入方法[在本例中为日语输入].在python IDE之外,输入工作正常,我可以输入字符,系统将它们识别为已输入.在IDE中,我会输入一些平假名,并且下拉汉字选择窗口像往常一样出现,但是当我选择适当的表示并按下回车时,那些哔哔声会响起来,我什么都没有.我觉得我错过了一个涉及某处的环境.

版本是:

Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Run Code Online (Sandbox Code Playgroud)

Python 2.5.4 (r254:67916, Jun 24 2010, 21:47:25) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Run Code Online (Sandbox Code Playgroud)

两者都不起作用.还有这个:

>>> import sys
>>> sys.getdefaultencoding()
'ascii'
>>> sys.stdin.encoding
'UTF-8'
>>> sys.stdout.encoding
'UTF-8'
>>> sys.getfilesystemencoding()
'utf-8'
Run Code Online (Sandbox Code Playgroud)

但从我所读到的,违约编码是一个神秘的野兽.改变它实际上并没有解决任何问题.那是,

>>> import sys
>>> sys.setdefaultencoding('utf-8')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: …
Run Code Online (Sandbox Code Playgroud)

python ide unicode macos utf-8

6
推荐指数
1
解决办法
1833
查看次数

在给定指针的情况下从内核中访问内核内存

我试图了解内核,并且一段时间以来一直尝试打印构成内核环境的一些基本数据结构.我的问题是,给定一个内存地址,我希望能够打印该地址的内容.

例如,我有一个确定IDT位置的函数.它(void *)按顺序返回0xffff81b8c0000fff.但是,每当我尝试printk在该地址处时,结果就是内核恐慌.我知道有一些保护可以阻止用户从用户空间访问内核内存,但我试图在start_kernel中执行此操作,我认为这些内容可读.

代码是:

idt_ptr = sidt(); // returns (void *)
printk(KERN_INFO "680: IDT TABLE, FIRST ENTRY\n");
//entry is 64 bits
printk(KERN_INFO "680: %llx\n", *(unsigned long long *)idt_ptr);
Run Code Online (Sandbox Code Playgroud)

这是尝试此尝试后发生的内核恐慌的尾端:

在此输入图像描述

看来我需要一个信号量来进行读访问,但这不是一个任意的地址吗?

c linux memory kernel semaphore

4
推荐指数
1
解决办法
508
查看次数

标签 统计

c ×1

ide ×1

kernel ×1

linux ×1

macos ×1

memory ×1

python ×1

semaphore ×1

unicode ×1

utf-8 ×1