Brainfuck, 133 123 114 110 bytes
++++++++++++++++[->++++++>++>+++>++++>++<<<<<]>-->>->->+[---<.+.+<.+<.+<.+.+.+>>>>]++[-<.+.+.+<.+>>]<+.<+.<++. A bit of more tinkering with a former solution (before I realized the below was smaller - allthough this was before I did some heavy optimization). This works by storing 4 sets of ascii numbers and print them with some tricky looping, and then give the missing characters afterwards (i.e. ones that are between invalid ascii numbers).
Original submission
>>+++++++++++[<+<+>>->++>+++<<]<++>>++++++>>+++++[-<<<++++++>>>]<<<+<<[->>+.<<]>>++.++<[->+.<]>++.+>[-<+.>]<++.+>>[-<<+.>>] It does the following:
- Create 4 registers containing 11. 13, 28, 33
- Create a 5th with the value 31 to start the printing
- Print ascii 32-42 (11)
- Print ascii 44
- Print ascii 47-59 (13)
- Print ascii 61
- Print ascii 63-90 (28)
- Print ascii 92
- Print ascii 94-126 (33)