Ho khoasolla torrent ea 16GB ka letlapa le nang le 4GB ea sebaka sa mahala

Ho khoasolla torrent ea 16GB ka letlapa le nang le 4GB ea sebaka sa mahala

Mosebetsi:

Ho na le PC ntle le Marang-rang, empa hoa khoneha ho fetisetsa faele ka USB. Ho na le letlapa le nang le Marang-rang moo faele ena e ka fetisetsoang ho eona. U ka khoasolla torrent e hlokahalang letlapeng la hau, empa ha ho na sebaka se lekaneng sa mahala. Faele e ka har'a torrent e 'ngoe ebile e kholo.

Tsela ea ho rarolla:

Ke ile ka qala torrent ho khoasolla. Ha sebaka sa mahala se batla se felile, ke ile ka emisa ho jarolla. Ke ile ka kopanya letlapa ho PC mme ka tlosa faele ho tloha letlapeng ho ea ho PC. Ke ile ka khefutsa 'me ka makatsoa ke hore file e entsoe hape' me torrent ea tsoela pele ho khoasolla joalokaha eka ha ho letho le etsahetseng.

Ka lebaka la hore moreki oa torrent o beha folakha ea sparse faeleng eo ho eona a ngolang data e amohetseng, sistimi ha e leke ho boloka 16GB hang-hang mme phoso e ke ke ea etsahala ha o leka ho ngolla faele e fetang 4GB.

Ka mor'a ho pheta mokhoa ona ka makhetlo a mane, ke ile ka fumana lifaele tse 'nè ho PC ea ka e nang le likarolo tse sa tšoaneng tsa molapo o le mong. Hona joale ho setseng ke ho li kopanya. Mokhoa ona o bonolo haholo. U hloka ho khutlisa li-byte tsa zero ka boleng bo bong haeba bo le teng sebakeng se fanoeng ho e 'ngoe ea lifaele tse' ne.

Ho 'na ho ne ho bonahala eka lenaneo le bonolo joalo le lokela ho ba Inthaneteng. Na ha ho motho ea kileng a kopana le bothata bo joalo? Empa ke ile ka hlokomela hore ha ke tsebe le hore na ke batla mantsoe afe a bohlokoa. Ka hona, ka potlako ke thehile lengolo la Lua bakeng sa mosebetsi ona mme joale ke o ntlafalitse. Sena ke seo ke batlang ho se arolelana.

Ho jarolla torrent ka likarolo

  1. qala ho jarolla torrent sesebelisoa sa pele
  2. ema ho fihlela ROM e tlatsitsoe
  3. emisa ho jarolla
  4. fetisetsa faele ho sesebelisoa sa bobeli ebe u eketsa nomoro ho lebitso la faele
  5. re khutlela ntlha ea pele ho fihlela faele e kopitsoa ka ho feletseng

Ho kopanya likarolo ho faele e le 'ngoe

Ka mor'a hore karolo ea ho qetela e amoheloe, hoa hlokahala ho li bokella faeleng e le 'ngoe kaofela.

Mosebetsi o bonolo:

  1. Ho bala likarolo tsohle ka nako e le 'ngoe
  2. Haeba karolong e itseng boemo e se zero byte, joale re e ngolla ho sehlahisoa, ho seng joalo re ngola zero

Mosebetsi merge_part e amohela letoto la likhoele streams_in eo e balang karolo ya boholo buffer_length mme e khutlisa sephetho sa ho kopanya likarolo ho tsoa likhoeleng tse fapaneng.

function merge_part(streams_in, buffer_length)
    local out_part
    for _, stream in ipairs(streams_in) do
        local in_part = stream:read(buffer_length)

        if not out_part then
            out_part = in_part -- просто копируем часть из первого файла
        elseif in_part and #in_part > 0 then

            if #out_part < #in_part then
                out_part, in_part = in_part, out_part
            end

            if out_part ~= in_part  -- данные различаются
                and in_part:find("[^ ]")   -- есть данные в in_part
                and out_part:find(" ", 1, true) -- есть пустые места в out_part
            then 
                local find_index = 1
--[[

Mosebetsi string.gsub e loketse mosebetsi hobane e tla fumana likotoana tse tlatsitsoeng ka li-zero ebe e fana ka seo e se filoeng.

--]]
                out_part = out_part:gsub(" +", function(zero_string)

                    if #in_part < find_index then
                        return -- не на что менять
                    end
--[[

string.gsub ha e fane ka boemo boo papali e fumanoeng ho eona. Ka hona, re etsa patlisiso e tšoanang bakeng sa boemo zero_string ka ho sebedisa tshebetso string.find. Ho lekane ho fumana zero byte ea pele.

--]]
                    local start_index = out_part:find(" ", find_index, true)
                    find_index = start_index + #zero_string

--[[

Joale haeba ho in_part ho na le data bakeng sa out_part kopitsa tsona.

--]]
                    if #in_part >= start_index then
                        local end_index = start_index + #zero_string - 1
--[[

Khaola ho tloha in_part karolo e tsamaellanang le tatelano ya zero.

--]]
                        local part = in_part:sub(start_index, end_index)

                        if (part:byte(1) ~= 0) or part:find("[^ ]") then
--[[

В part ho na le data.

--]]
                            if #part == #zero_string then
                                return part
                            else
--[[

part e bile ka tlase ho tatellano ea li-zero. A re e tlatselle ka tsona.

--]]
                                return part..zero_string:sub(1, end_index - #in_part)
                            end
                        end
                    end
                end)
            end
        end
    end
    return out_part
end

fihlela qeto e

Kahoo, re khonne ho khoasolla le ho kopanya faele ena ho PC. Ka mor'a ho kopanya, ke ile ka ntša faele ea torrent ho tloha letlapeng. Ke kentse moreki oa torrent ho PC ea ka mme ka sheba faele ka eona.

Karolo ea ho qetela e jarollotsoeng letlapeng e ka siuoa kabong, empa o hloka ho nolofalletsa ho hlahloba hape likarolo pele ho sena le ho hlakola faele hore e se ke ea jarolla hape.

E sebelisitsoeng:

  1. Flud torrent client letlapeng.
  2. Torrent client qBittorent ho PC.
  3. Lua script

Source: www.habr.com

Eketsa ka tlhaloso