Специальные символы имени файла загрузки сервлета Java

Я пишу простой сервлет загрузки файлов и не могу получить правильные имена файлов. Пробовал URLEncoding и MimeEncoding имени файла, как видно из существующих ответов, но ни один из них не работал.

Объект fileData в следующем фрагменте содержит тип mime, содержимое byte [] и имя файла, для которого требуется как минимум ISO-8859- 2, ISO-8859-1 недостаточно. { printf («Привет, мир!»); } и я получил этот ассемблерный код: .file "test.c" .section .rodata .LC0: .string "Hello world!" ....

Я запустил gcc -S над этим:

int main()
{
printf ("Hello world!");
}

и получил этот ассемблерный код:

        .file   "test.c"
        .section        .rodata
.LC0:
        .string "Hello world!"
        .text
.globl main
        .type   main, @function
main:
        leal    4(%esp), %ecx
        andl    $-16, %esp
        pushl   -4(%ecx)
        pushl   %ebp
        movl    %esp, %ebp
        pushl   %ecx
        subl    $20, %esp
        movl    $.LC0, (%esp)
        call    printf
        addl    $20, %esp
        popl    %ecx
        popl    %ebp
        leal    -4(%ecx), %esp
        ret
        .size   main, .-main
        .ident  "GCC: (GNU) 4.3.0 20080428 (Red Hat 4.3.0-8)"
        .section        .note.GNU-stack,"",@progbits

Мне любопытно понять этот вывод. Может ли кто-нибудь поделиться некоторыми указателями для понимания этого вывода, или если бы кто-то мог отметить комментарии к каждой из этих строк / групп строк, объясняющих, что они делают, это было бы здорово.

33
задан Peter Cordes 13 February 2019 в 06:34
поделиться