- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
do
local name = {"Маша ","Алиса ","Анджела ","Настя ","Петровна ","Василиса ","Олег "}
local beauty = {"Супер ","Так себе ","Очень даже ничего ","Ужас! "}
local len_n, len_b = #name, #beauty
math.randomseed(os.time())
local kurwa = {}
function kurwa:cr()
local t = {}
t.money = math.random(1000,100000)
t.name = name[math.random(1,len_n)]
t.b = beauty[math.random(1,len_b)]
return setmetatable(t, {__index = self})
end
function kurwa:say()
local x
if self.name ~= name[7] then
x = " она "
else
x = " он "
end
print("Имя: "..self.name.."Оплата труда: "..self.money..x..self.b)
end
for i=1, 5 do --заказываем 5 курв
table.insert(kurwa, kurwa:cr())
end
for cv,kw in ipairs(kurwa) do
print("№"..cv)
if type(kw) == "table" then
kw:say()
end
end
end
guest 07.05.2016 18:22 # +13
guest 07.05.2016 20:35 # +6
guest 21.05.2016 06:53 # +6
bormand 21.05.2016 06:55 # +1
guest 21.05.2016 09:38 # +1
guest 21.05.2016 14:05 # +1
kegdan 07.05.2016 20:08 # 0
к чему это здесь?
guest 07.05.2016 20:17 # +3
kegdan 07.05.2016 20:26 # +3
Пойду тоже напишу говноигру
kegdan 07.05.2016 20:36 # +4
Sfabrikan 08.05.2016 06:39 # 0
Vasiliy 10.05.2016 18:44 # 0
kerman 11.05.2016 23:04 # +3
gost 21.05.2016 12:52 # 0
3_14dar 21.05.2016 21:38 # +1
gost 21.05.2016 21:47 # 0
bormand 21.05.2016 22:12 # 0
3_14dar 21.05.2016 22:52 # 0
bormand 21.05.2016 22:56 # 0
3_14dar 22.05.2016 01:15 # 0
bormand 22.05.2016 03:34 # 0
inkanus-gray 22.05.2016 16:29 # +1
Какой-то из архиваторов для Винды сохранял в одном месте имя в текущей кодировке Windows (ANSI/cp1251), а в другом месте в текущей кодировке DOS (ΟΕΜ/cp866). Это вызывало проблемы с другими архиваторами, у которых было другое соглашение о кодировках (халявный Info-ZIP в обоих местах использует одну кодировку, если я не ошибаюсь).
В общем, надо тестировать. У меня такое подозрение, что архиватор тупо сохраняет в текущей кодировке и не парится.
3_14dar 22.05.2016 18:35 # +2
inkanus-gray 22.05.2016 18:58 # 0
Однако, люди присылают архивы с именами файлов, содержащими символы за пределами ASCII. Архиватор (даже фирменный PKZIP) не фильтрует эти символы, поэтому это говно с нестандартными символами приходится распаковывать. Вот и тестирую.
bormand 22.05.2016 19:01 # 0
А как его реализуешь то? Разве что частотным анализом пытаться угадать кодировку (а это и для одного языка с трудом работает). Ну либо поступить как в никсах - положить хуй на все эти legacy кодировки и таки придти к стандарту utf-8...
inkanus-gray 22.05.2016 19:07 # +1
В Винраре придумали «проприетарщину»: свой тег с именем файла, продублированном в UTF-8.
bormand 22.05.2016 19:12 # 0
inkanus-gray 22.05.2016 19:15 # 0
inkanus-gray 22.05.2016 19:59 # +1
У WinZIP и WinRAR формат совпал: они понимают комментарии в UTF-8, созданные друг другом.
inkanus-gray 22.05.2016 16:52 # +1
В Винде три указанных архиватора игнорируют CHCP и уникодные символы сохранять отказываются.
inkanus-gray 22.05.2016 17:18 # +1
1. Info-ZIP портит имена файлов, упакованных пэказипом и семьзипом. Он ожидает, что сводный каталог (PK\001\002) будет в кодировке ANSI/1251.
2. 7-zip распаковывает архивы, созданные пэказипом, но портит имена файлов в архивах, созданных инфозипом.
3. PKZIP распаковывает архивы, созданные семьзипом, но портит имена файлов в архивах, созданных инфозипом.
Итого: Info-ZIP в Винде соснул.
bormand 22.05.2016 17:33 # 0
inkanus-gray 22.05.2016 18:46 # +1
Консольный WinRAR делать зипы не умеет, а оконный WinRAR оба заголовка добавляет в кодировке 866 с комментарием (собственным тегом) в кодировке UTF-8.
PKZIP и 7-zip его файлы распаковывают (с потерей символов, не уложившихся в восьмибитную кодировку), а Info-ZIP снова соснул. Винраровский комментарий в UTF-8 не понимает никто.
3_14dar 22.05.2016 18:36 # +3
inkanus-gray 22.05.2016 18:52 # 0
inkanus-gray 22.05.2016 19:06 # 0
И да, она не встроенная. Это фильтр для Проводника. У некоторых сторонних архиваторов есть такие же фильтры.
3_14dar 23.05.2016 00:25 # +1
inkanus-gray 23.05.2016 00:29 # 0
В примерах я для простоты указал 1251 и 866, а в реальности могут быть разные кодировки. Мне страшно представить, как распакуется архив, упакованный в Греции.
3_14dar 23.05.2016 00:31 # +1
inkanus-gray 23.05.2016 01:08 # 0
Где-то (уже не помню точно, где) натыкался на файлы, имена которых состояли только из знаков подчёркивания.
inkanus-gray 23.05.2016 01:13 # 0
3_14dar 23.05.2016 02:20 # +1
guesto 23.05.2016 02:41 # +1
3_14dar 23.05.2016 19:24 # +1
guesto 23.05.2016 20:50 # 0
inkanus-gray 22.05.2016 19:14 # +1
* WinRAR хранит имена в UTF-8 в собственном теге, не поддерживаемом другими архиваторами.
3_14dar 22.05.2016 18:39 # 0
>или это потому что текущая локаль утф-8?
Или даже не на всех прыщах.
bormand 22.05.2016 18:46 # +1
Но хотя бы почти на всех никсах (изкоробки сейчас везде utf-8, чтобы выбрать какой-нибудь koi8-r надо попердолиться). На маках вроде тоже должно открыться. А архивы, созданные виндой, даже в другой стране не почитаешь...
З.Ы. Бесит эта привязка кодировки к локали.
3_14dar 21.05.2016 22:53 # +2
gost 22.05.2016 10:09 # +1
http://i.imgur.com/3e7dvzZ.png
Вот при открытии проводником - не работает, юникод заменяется на ASCII - http://i.imgur.com/5Yqk4ko.png. Но файлы открываются, а это всяко лучше, чем "Ой, а что это вы мне прислали такое, какие-то rar непонятные...".
bormand 22.05.2016 11:08 # +3
Пиздец. Лучше бы не работало.
З.Ы. Или файл именно так и должен называться, как на скрине с венраром?
1024-- 22.05.2016 11:36 # 0
guesto 22.05.2016 12:59 # 0
3_14dar 23.05.2016 00:27 # −1
inkanus-gray 22.05.2016 16:22 # +1
bormand 22.05.2016 17:35 # +2
Вот и каждый дрочит так как хочет...
inkanus-gray 22.05.2016 18:35 # +1
Так, например, Info-ZIP для каждого файла хранит три даты (дату создания, дату изменения и дату последнего доступа), а PKZIP только одну. Некоторые реализации добавляют специальный тег, содержащий юниксовые атрибуты и права доступа (типа как в tar). Чисто теоретически можно было бы добавить и тег с кодировкой.
> Вот и каждый дрочит так как хочет...
Угу. PKZIP пошёл по странному пути и стал хранить в одном заголовке имена в досовской кодировке, в другой — в виндовой, чтобы ничего не потерялось (хотя сам и не умеет восстанавливать потерянные символы, если архив распаковывается на машине с другой системной кодировкой).
Info-ZIP вообще отказался от совместимости с DOS и решил сохранять всё в той кодировке, которая для данной системы считается дефолтной (в Винде — в виндовой кодировке, в Линуксе — в UTF-8 или в какой-то ещё).
3_14dar 22.05.2016 18:38 # 0
bormand 22.05.2016 18:49 # 0
inkanus-gray 22.05.2016 19:17 # 0
3_14dar 23.05.2016 00:28 # 0
inkanus-gray 22.05.2016 18:50 # 0
По идее обладателем «стандарта» на ZIP является компания PKWARE. Но мы живём в мире, в котором существует более 9000 реализаций зипа, и с этим приходится как-то жить.
inkanus-gray 22.05.2016 20:53 # +2
Что делать? Натравить Мизулину, чтобы она заблокировала за пропаганду извращений сайты, распространяющие Интернет Эксплорер и Хром?
gost 07.05.2016 20:25 # +6
guest 07.05.2016 22:12 # +2