欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    indows 默認(rèn)不接受長路徑

    在 Windows 95 之前,Windows 只允許使用八個字符長的文件名和三個字符的文件擴(kuò)展名 — 通常稱為 8.3 文件名。 Windows 95 放棄了允許長文件名的做法,但仍將最大路徑長度(包括完整文件夾路徑和文件名)限制為 260 個字符。從那時起,這一限制就一直存在。如果您曾經(jīng)遇到過此限制,則可能是當(dāng)您嘗試將深層文件夾結(jié)構(gòu)復(fù)制到其他文件夾時,例如將硬盤驅(qū)動器的內(nèi)容復(fù)制到另一個驅(qū)動器上的文件夾時。 Windows 10 周年更新終于添加了放棄最大路徑長度的選項。

    這個新設(shè)置不一定適用于所有應(yīng)用程序,但它適用于大多數(shù)應(yīng)用程序。具體來說,任何現(xiàn)代應(yīng)用程序都應(yīng)該沒問題,所有 64 位應(yīng)用程序也應(yīng)該如此。較舊的 32 位應(yīng)用程序需要進(jìn)行清單顯示才能工作,這實際上僅意味著開發(fā)人員已在應(yīng)用程序的清單文件中表明該應(yīng)用程序支持更長的路徑。大多數(shù)流行的 32 位應(yīng)用程序應(yīng)該不會遇到問題。不過,如果應(yīng)用程序無法工作,唯一會發(fā)生的情況是它將無法打開或保存保存在完整路徑超過 260 個字符的位置的文件。

    家庭用戶:通過編輯注冊表刪除 260 個字符路徑限制

    如果您有 Windows 家庭版,則必須編輯 Windows 注冊表才能進(jìn)行這些更改。 (不過,如果您有專業(yè)版或企業(yè)版,我們建議使用更簡單的組策略編輯器。)

    首先,點擊“開始”并輸入“regedit”打開注冊表編輯器。按 Enter 打開注冊表編輯器并授予其對您的電腦進(jìn)行更改的權(quán)限。

    在注冊表編輯器中,使用左側(cè)邊欄導(dǎo)航到以下鍵:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

    在右側(cè),找到名為 LongPathsEnabled 的值并雙擊它。如果您沒有看到列出的值,則需要通過右鍵單擊 FileSystem 鍵,選擇“新建”>“DWORD(32 位)值”來創(chuàng)建它,然后將新值命名為 LongPathsEnabled

    在該值的屬性窗口中,將“值數(shù)據(jù)”框中的值從 0 更改為 1,然后單擊“確定”。

    您現(xiàn)在可以關(guān)閉注冊表編輯器并重新啟動計算機(jī)(或注銷您的帳戶并重新登錄)。如果您想撤銷更改,只需返回 LongPathsEnabled 值,并將其從 1 更改回 0。

    作者:薛8

    來源:https://ddnd.cn/2019/02/16/byte-hex-ascii/

    前言

    最近在學(xué)習(xí)中涉及到計算機(jī)儲存、傳輸數(shù)字和字符等操作,由于對字節(jié)、2進(jìn)制、10進(jìn)制、16進(jìn)制、ASCII碼的概念以及它們之間的關(guān)系和轉(zhuǎn)換理解的不夠透徹,導(dǎo)致在通訊、MD5消息摘要算法等時候出現(xiàn)問題,是因為數(shù)據(jù)轉(zhuǎn)成計算機(jī)認(rèn)識的01的這個環(huán)節(jié)出現(xiàn)問題。由于這個問題并不是那么容易發(fā)現(xiàn),所以我也算是花了挺多時間才解決了這個問題,記錄下解決過程,順便也當(dāng)復(fù)習(xí)一下計算機(jī)組成原理。

    ASCII碼

    在計算機(jī)中,所有的數(shù)據(jù)在存儲和運(yùn)算時都要使用二進(jìn)制數(shù)表示(因為計算機(jī)用高電平和低電平分別表示1和0),例如,像a、b、c、d這樣的52個字母(包括大寫)以及0、1等數(shù)字還有一些常用的符號(例如*、#、@等)在計算機(jī)中存儲時也要使用二進(jìn)制數(shù)來表示,而具體用哪些二進(jìn)制數(shù)字表示哪個符號,當(dāng)然每個人都可以約定自己的一套(這就叫編碼),而大家如果要想互相通信而不造成混亂,那么大家就必須使用相同的編碼規(guī)則,于是美國有關(guān)的標(biāo)準(zhǔn)化組織就出臺了ASCII編碼,統(tǒng)一規(guī)定了上述常用符號用哪些二進(jìn)制數(shù)來表示。
    ASCII 碼一共規(guī)定了128個字符(0000 0000-0111 1111)的編碼,比如空格SPACE是32(二進(jìn)制0010 0000),大寫的字母A是65(二進(jìn)制0100 0001 )。這128個符號(包括32個不能打印出來的控制符號),只占用了一個字節(jié)的后面7位(低7位),最前面的一位(高1位)統(tǒng)一規(guī)定為0(不要和數(shù)字的符號位搞混)。
    當(dāng)然除了ASCII碼,還有UTF-8、GBK等。

    字節(jié)

    字節(jié)(Byte)普通計算機(jī)系統(tǒng)能讀取和定位到最小信息單位,即我們通過計算機(jī)儲存和傳輸數(shù)據(jù)的時候都是先把數(shù)據(jù)轉(zhuǎn)成字節(jié)。
    字節(jié)即Byte,一個字節(jié)代表8個比特(Bit),字節(jié)通常縮寫為B,比特通常縮寫為b。字節(jié)的大小是8Bit,即字節(jié)的范圍是0000 0000 - 1111 1111,對于無符號型,它表示的十進(jìn)制范圍是[0,255],對于有符號型,高一位表示符號位,它表示的十進(jìn)制范圍是[-128,127]。

    計算機(jī)若何儲存數(shù)據(jù)

    計算機(jī)只認(rèn)識0和1(因為計算機(jī)只有高低電平兩個狀態(tài)),數(shù)據(jù)要想通過計算機(jī)儲存或者傳輸,首先是要把數(shù)據(jù)轉(zhuǎn)成計算機(jī)能認(rèn)識的格式即01數(shù)據(jù)。
    我們舉個例子,以儲存十進(jìn)制數(shù)字28和-28為例,首先將十進(jìn)制數(shù)轉(zhuǎn)成二進(jìn)制。

    需要注意的是: 數(shù)字在計算機(jī)中儲存的是補(bǔ)碼,而字符是在計算機(jī)中儲存的是字符對應(yīng)的編碼(不要和數(shù)字的補(bǔ)碼搞混)。

    數(shù)字

    儲存十進(jìn)制數(shù)字28和-28為例,首先將十進(jìn)制數(shù)轉(zhuǎn)成二進(jìn)制,高1位為0代表正數(shù),為1代表負(fù)數(shù)

    28(10)=0001 1100(2)(原碼)

    -28(10)=1001 1100(2)(原碼)

    然后計算機(jī)將二進(jìn)制數(shù)字進(jìn)行補(bǔ)碼運(yùn)算,運(yùn)算結(jié)果如下

    28(10)=0001 1100(2)(原碼)=0001 1100(2)(補(bǔ)碼)

    -28(10)=1001 1100(2)(原碼)=1110 0100(2)(補(bǔ)碼)

    然后計算機(jī)保存的就是補(bǔ)碼,當(dāng)要取出數(shù)據(jù)的時候,就將補(bǔ)碼逆運(yùn)算一下,即可求出原碼,再將原碼轉(zhuǎn)換一下就可以得到真實的數(shù)據(jù)了。
    下面以Java語言演示這個過程,首先我們要清楚Java的byte、short、int、long都是有符號的(signed)

    運(yùn)行輸出:

    28儲存到計算機(jī)后為:11100

    -28儲存到計算機(jī)后為:11111111111111111111111111100100

    取出儲存的28 以無符號表示:28

    取出儲存的-28 以無符號表示:4294967268

    我們驗證一下結(jié)果,驗證了計算機(jī)確實是以補(bǔ)碼的方式儲存數(shù)字。這里有個小問題,就是我們知道int型有4個字節(jié)即32個比特,但是28卻輸出了111005個比特而已,是因為toBinaryString()方法把11100前面的0給忽略了。
    取出的時候,我們以無符號的標(biāo)準(zhǔn)去處理,導(dǎo)致取出存入的-28結(jié)果是4294967268和我們存入的不一樣,這是因為-28是負(fù)數(shù),負(fù)數(shù)的補(bǔ)碼和原碼不一樣,而用無符號處理的話就是直接將11111111111111111111111111100100轉(zhuǎn)成結(jié)果了。而為什么28用有無符號處理結(jié)果都一樣是因為正數(shù)的原碼和補(bǔ)碼一樣,這樣驗證了Java的數(shù)據(jù)類型都是有符號的。

    至于計算機(jī)為什么用補(bǔ)碼來儲存數(shù)字,而不是原碼,原因是:
    拿單字節(jié)整數(shù)來說,無符號型,其表示范圍是[0,255],總共表示了256個數(shù)據(jù)。有符號型,其表示范圍是[-128,127]。
    先看無符號,原碼和補(bǔ)碼都一樣,0表示為0000 0000,255表示為1111 1111,剛好滿足了要求,可以表示256個數(shù)據(jù)。
    再看有符號的,若是用原碼表示,0表示為0000 000。因為咱們有符號,所以應(yīng)該也有個負(fù)0(雖然它還是0)1000 0000。這樣的話那就有2個0,也就是只能表示255個數(shù)據(jù),不能夠滿足我們的要求。而用補(bǔ)碼則很好的解決了這個問題。

    字符

    在計算機(jī)中,對非數(shù)值的字符進(jìn)行處理時,要對字符進(jìn)行數(shù)字化,即用二進(jìn)制編碼來表示字符。其中西文字符最常用到的編碼方案有ASCII編碼和EBCDIC編碼。對于漢字,我國也制定的相應(yīng)的編碼方案,比如 GBK,GB2312等。
    比如字符a的ASCII碼十進(jìn)制值為97,在計算機(jī)中用二進(jìn)制表示就是 01100001。下面同樣用Java來演示計算機(jī)是如何儲存字符的。

    1. 采用UTF-8和GBK兩種編碼儲存漢字


    我們調(diào)試看看,發(fā)現(xiàn)GBK編碼采用2個字節(jié)儲存,儲存的數(shù)據(jù)分別是10進(jìn)制的-42和-48對應(yīng)的二進(jìn)制分別是11010110和11010000(補(bǔ)碼),即漢字中對應(yīng)的二進(jìn)制為1101011011010000,即16進(jìn)制的D6D0,查看GBK對照表,發(fā)現(xiàn)16進(jìn)制編碼D6D0對應(yīng)的漢字確實是中

    而UTF-8編碼采用3個字節(jié)儲存,同理將對應(yīng)的二進(jìn)制111001001011100010101101轉(zhuǎn)成16進(jìn)制,為E4B8AD,通過UTF-8編碼查詢,發(fā)現(xiàn)漢字中對應(yīng)的16進(jìn)制編碼確實是E4B8AD

    1. 儲存字符


    調(diào)試看看,字符串EF有E和F兩個字符,它們對應(yīng)的十進(jìn)制ASCII碼分別是69和70

    我們發(fā)現(xiàn)Java的getBytes()方法是將字符串的每一個字符都儲存到一個字節(jié)的,如果我們想把EF儲存在一個字節(jié)里面,即EF是一個整體的,一個字節(jié),不能拆分,那我們可以把EF放在一個字節(jié)里面(byte)(0xEF),聲明它是一個字節(jié),不是字符,不用再將它轉(zhuǎn)成字符對應(yīng)的編碼。
    下面說說我在進(jìn)行MD5消息摘要算法時候遇到的坑,我要對QQ號對應(yīng)的Hex進(jìn)行MD5算法散列,這里我舉例QQ號的10進(jìn)制為12345678,對應(yīng)的16進(jìn)制為00BC614E(因為QQ號固定長度4個字節(jié),所以前面補(bǔ)了2個0),一開始我是以下面的方式進(jìn)行MD5算法的


    調(diào)試可以看到上面的代碼其實是將字符串00BC614E轉(zhuǎn)成了8個字節(jié),然后再對這8個字節(jié)進(jìn)行散列,這也是基于字符串進(jìn)行的MD5散列,和通過網(wǎng)上一些網(wǎng)站散列得到的值是一樣的

    但是這個哈希值和預(yù)想的結(jié)果不一致,后來才知道預(yù)想的結(jié)果是基于字節(jié)進(jìn)行的MD5散列,也就是00BC614E應(yīng)該分成4個字節(jié)(00、BC、61、4E)而不是8個字節(jié)(0、0、B、C、6、1、4、E),然后通過修改代碼


    使用(byte)聲明是一個字節(jié),不是字符,不用再將它轉(zhuǎn)成字符對應(yīng)的編碼。00、BC、61、4E分別是一個字節(jié),當(dāng)然因為字節(jié)為8個比特,能表示256個數(shù)字,因為Java的數(shù)據(jù)類型是有符號的,所以8個比特能表示的10進(jìn)制范圍是[-128,127],所以(byte)(x) x不能小于-128和不能大于127,否則會溢出,溢出的部分?jǐn)?shù)據(jù)會丟失。

網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權(quán)所有