2013-06-24 45 views
1

當我添加並提交一個新文件時,文件名是「À」。
炭 'A' 不是ASCII,並使用命令git tree object filename字符集編碼

GIT中貓文件-p主^ {}樹

結果:

100644團塊78981922613b2afb6025042ff6bd878ac1994e85 「\ 303 \ 200」

我知道字符串「\ 303 \ 200」是文件名「À」,但它如何c ome從?

git cat-file如何編碼非ascii char文件名?

回答

2

它存儲在UTF-8 encoding。你看到的是以C風格octal notation表示的這種編碼。

字母「À」是Unicode字符192或二進制的00011000000。根據UTF-8的規則,這被分成兩個字節110xxxxx10xxxxxx,因此分爲1100001110000000。對於八進制符號,這些分組編號爲11-000-011303,十進制3 * 8 2 +3 = 195)和10-000-000200,十進制2 * 8 2 = 128)。