小编ima*_*hat的帖子

UTF-8:只有0-127如何存储到单个字节中?

我需要帮助理解“从 0-127 的每个代码点如何存储在单个字节中”,如下所述。

这是上下文:

UTF-8 的绝妙概念就这样被发明了。UTF-8 是另一个使用 8 位字节在内存中存储 Unicode 代码点字符串(那些神奇的 U+ 数字)的系统。在 UTF-8 中,从 0 到 127 的每个代码点都存储在单个字节中。只有代码点 128 及以上才使用 2、3 个字节(实际上最多 6 个字节)来存储。

来源: http: //www.joelonsoftware.com/articles/Unicode.html

我知道数字 0-127 是用来表示 ASCII 字符的。Unicode 字符由 U+HexHex 表示,也称为代码点。0-127 如何转换为代码点?如果每个十六进制数可以代表 16 个选项,那么 1 个 8 位字节可以容纳 2 个十六进制数(2^8=16*16=256)。

问:那么可以表示的字符有 256 个,为什么停在 127 个呢?我明白为什么 256 个代码点以上的字符需要 2 个字节,但是为什么代码点 128-256 需要 2 个字节呢?

unicode encoding utf-8

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

Python:pip尝试安装到/ bin目录

我安装了python brew install python

which pip
/usr/local/bin/pip
Run Code Online (Sandbox Code Playgroud)

我的PYTHONPATH节目/usr/local/lib/python2.7/site-packages/

但是,当我尝试使用pip安装某些东西时,它会进入/bin/如下所示的目录.我想要安装的东西/usr/local/lib/python2.7/site-packages/.我该如何解决?

pip install virtualenv
Downloading/unpacking virtualenv
  Downloading virtualenv-1.11.6-py2.py3-none-any.whl (1.6MB): 1.6MB downloaded
Installing collected packages: virtualenv
Cleaning up...
Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/usr/local/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/commands/install.py", line 283, in run
{....}
  File "/usr/local/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/_vendor/distlib/util.py", line 384, in write_binary_file
    with open(path, 'wb') as f:
IOError: [Errno 13] Permission denied: '/bin/virtualenv'



$ pip list
pip (1.5.6)
setuptools (5.4.2)
wsgiref …
Run Code Online (Sandbox Code Playgroud)

python macos pip

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

Makefile:如何检测 makefile 本身的变化?

我知道使用递归生成文件的想法。是否会仅在对后续 makefile 本身进行任何更改时更新诸如以下的后续 makefile?

例如:

#parent makefile. no changes here. 
subsystem:
    cd subdir && $(MAKE)
Run Code Online (Sandbox Code Playgroud)

如果 subdir 中的 makefile 已更改,以至于以下内容不成立(例如,仅更改了 gcc 标志),那么目标文件是否会更新?

如果源文件或任何命名为依赖项的头文件比目标文件更新,或者目标文件不存在,则必须进行重新编译。

makefile

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

在Django-rest-framework HyperlinkedModelSerializer上解析域名

我希望DRF用于序列化的超链接:

http://<mydomain.com>/api/v1/endpoint
Run Code Online (Sandbox Code Playgroud)

而不是

http://127.0.0.1/api/v1/endpoint
Run Code Online (Sandbox Code Playgroud)

可以在Django中配置它还是与我的http服务器配置(gunicorn + nginx)相关?

django django-rest-framework

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

如何在Bash中获得if构造的反义词?

if date -d "2012010123"如果date命令返回零退出代码,则运行.如何让相反的事情发生?换句话说,如果退出代码为1,如何运行if语句?

bash

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

python -v打印出垃圾

它看起来像python完美的工作......

$ python
Python 2.7.8 (default, Aug 24 2014, 21:26:19)
[GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
Run Code Online (Sandbox Code Playgroud)

但python -v打印出各种垃圾:

$ python -v
# installing zipimport hook
import zipimport # builtin
# installed zipimport hook
# /usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.pyc matches /usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py
import site # precompiled from /usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.pyc
# /usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.pyc matches /usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py
import os # precompiled from /u


<..................>

   /usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_sysconfigdata.pyc matches /usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_sysconfigdata.py
import _sysconfigdata # precompiled from /usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_sysconfigdata.pyc
# /usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_osx_support.pyc matches /usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_osx_support.py …
Run Code Online (Sandbox Code Playgroud)

python macos homebrew osx-mavericks

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

何时使用带有选项 -c 的 bash?

我试图-c更好地理解 bash 的选项。手册页说:

-c:如果存在 -c 选项,则从第一个非选项参数 command_string 读取命令。如果command_string后面有参数,它们将被分配给位置参数,从$0开始。

我很难理解这意味着什么。

如果我使用或不使用 bash -c 执行以下命令,我会得到相同的结果(示例来自http://www.tldp.org/LDP/abs/html/abs-guide.html):

$ set w x y z; IFS=":-;"; echo "$*"
w:x:y:z
$ bash -c 'set w x y z; IFS=":-;"; echo "$*"'
w:x:y:z
Run Code Online (Sandbox Code Playgroud)

bash

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

Bash:哪个<app>返回的位置与预期不同

任何人都可以向我解释为什么会发生以下情况?

[$] pip
-bash: /usr/local/bin/pip: No such file or directory
[$] which pip
/bin/pip
Run Code Online (Sandbox Code Playgroud)

macos bash which

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

在py.test中,将灯具标记为灯具有什么意义?

import pytest

@pytest.fixture()
def my_fixture():
    data = {'x': 1, 'y': 2, 'z': 3}
    return data

def test_my_fixture(my_fixture):
    assert my_fixture['x'] == 1
Run Code Online (Sandbox Code Playgroud)

标记my_fixture为pytest有fixture什么好处?看起来该灯具的好处与my_fixture只是一个常规功能(移除装饰器)相同。

我仅在这里看到了好处,my_fixture只需将其作为参数提供给test_my_fixture

@pytest.fixture()
def my_fixture():
    print "\nI'm the fixture"

def test_my_fixture(my_fixture):
    print "I'm the test"
Run Code Online (Sandbox Code Playgroud)

这应该打印:

I'm the fixture
I'm the test
Run Code Online (Sandbox Code Playgroud)

python pytest

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

基于另一个拉取请求(和分支)创建 Github 拉取请求(和分支)

我的工作流程需要一些帮助。我通常创建一个分支并在 github 上打开拉取请求(标准程序)。但是,有时我想创建另一个 PR,该 PR 依赖于之前仍处于打开状态的 PR。我希望在第一个 PR 仍处于开放状态时对第二个 PR 进行评论。

为此,我首先创建另一个分支(在之前的分支之外)并打开一个 PR,请求对第一个分支进行更改。同时,如果我对第一个分支进行了更改(解决第一个 PR 的评论),我会将它们提交到第一个分支,然后将它们重新设置到第二个分支。然后,我将第一个分支和第二个分支强制推送到它们的遥控器。

然而,问题是第二个 PR 有时会显示与第一个分支相比的变化。这是一个线性历史,我认为 github 很混乱。我尝试了这个奇怪的事情,我将第二个 PR 中的分支更改为其他共同祖先分支,然后将其更改回第一个分支,突然间,第一个分支中不应该出现的更改消失了。

有没有办法防止这个问题的发生?我从来不希望第一个 PR 的更改出现在第二个 PR 中(作为提交)。我只是希望第二个 PR 看起来像是正在向第一个 PR 提交更改。

合并第一个 PR 后,我通常会进入第二个分支并rebase --onto our_main_branch更新 github 中的第二个 PR 以请求将更改合并到our_main_branch. 我也欢迎对更好的工作流程提出任何意见。

git github

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