summaryrefslogtreecommitdiffstats
path: root/test/UTF-8-test.txt
blob: a5b5d50e6b61eb9a3b751b3954f83e61bb59db9b (plain)
ofshex dumpascii
0000 55 54 46 2d 38 20 64 65 63 6f 64 65 72 20 63 61 70 61 62 69 6c 69 74 79 20 61 6e 64 20 73 74 72 UTF-8.decoder.capability.and.str
0020 65 73 73 20 74 65 73 74 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ess.test.-----------------------
0040 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 4d 61 72 6b 75 73 20 4b 75 68 6e 20 3c -----------------..Markus.Kuhn.<
0060 68 74 74 70 3a 2f 2f 77 77 77 2e 63 6c 2e 63 61 6d 2e 61 63 2e 75 6b 2f 7e 6d 67 6b 32 35 2f 3e http://www.cl.cam.ac.uk/~mgk25/>
0080 20 2d 20 32 30 31 35 2d 30 38 2d 32 38 20 2d 20 43 43 20 42 59 20 34 2e 30 0a 0a 54 68 69 73 20 .-.2015-08-28.-.CC.BY.4.0..This.
00a0 74 65 73 74 20 66 69 6c 65 20 63 61 6e 20 68 65 6c 70 20 79 6f 75 20 65 78 61 6d 69 6e 65 2c 20 test.file.can.help.you.examine,.
00c0 68 6f 77 20 79 6f 75 72 20 55 54 46 2d 38 20 64 65 63 6f 64 65 72 20 68 61 6e 64 6c 65 73 0a 76 how.your.UTF-8.decoder.handles.v
00e0 61 72 69 6f 75 73 20 74 79 70 65 73 20 6f 66 20 63 6f 72 72 65 63 74 2c 20 6d 61 6c 66 6f 72 6d arious.types.of.correct,.malform
0100 65 64 2c 20 6f 72 20 6f 74 68 65 72 77 69 73 65 20 69 6e 74 65 72 65 73 74 69 6e 67 20 55 54 46 ed,.or.otherwise.interesting.UTF
0120 2d 38 0a 73 65 71 75 65 6e 63 65 73 2e 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 6d -8.sequences..This.file.is.not.m
0140 65 61 6e 74 20 74 6f 20 62 65 20 61 20 63 6f 6e 66 6f 72 6d 61 6e 63 65 20 74 65 73 74 2e 20 49 eant.to.be.a.conformance.test..I
0160 74 20 64 6f 65 73 0a 6e 6f 74 20 70 72 65 73 63 72 69 62 65 20 61 6e 79 20 70 61 72 74 69 63 75 t.does.not.prescribe.any.particu
0180 6c 61 72 20 6f 75 74 63 6f 6d 65 2e 20 54 68 65 72 65 66 6f 72 65 2c 20 74 68 65 72 65 20 69 73 lar.outcome..Therefore,.there.is
01a0 20 6e 6f 20 77 61 79 20 74 6f 0a 22 70 61 73 73 22 20 6f 72 20 22 66 61 69 6c 22 20 74 68 69 73 .no.way.to."pass".or."fail".this
01c0 20 74 65 73 74 20 66 69 6c 65 2c 20 65 76 65 6e 20 74 68 6f 75 67 68 20 74 68 65 20 74 65 78 74 .test.file,.even.though.the.text
01e0 20 64 6f 65 73 20 73 75 67 67 65 73 74 20 61 0a 70 72 65 66 65 72 61 62 6c 65 20 64 65 63 6f 64 .does.suggest.a.preferable.decod
0200 65 72 20 62 65 68 61 76 69 6f 75 72 20 61 74 20 73 6f 6d 65 20 70 6c 61 63 65 73 2e 20 49 74 73 er.behaviour.at.some.places..Its
0220 20 61 69 6d 20 69 73 2c 20 69 6e 73 74 65 61 64 2c 20 74 6f 0a 68 65 6c 70 20 79 6f 75 20 74 68 .aim.is,.instead,.to.help.you.th
0240 69 6e 6b 20 61 62 6f 75 74 2c 20 61 6e 64 20 74 65 73 74 2c 20 74 68 65 20 62 65 68 61 76 69 6f ink.about,.and.test,.the.behavio
0260 75 72 20 6f 66 20 79 6f 75 72 20 55 54 46 2d 38 20 64 65 63 6f 64 65 72 20 6f 6e 20 61 0a 73 79 ur.of.your.UTF-8.decoder.on.a.sy
0280 73 74 65 6d 61 74 69 63 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 6f 66 20 75 6e 75 73 75 61 6c 20 69 stematic.collection.of.unusual.i
02a0 6e 70 75 74 73 2e 20 45 78 70 65 72 69 65 6e 63 65 20 73 6f 20 66 61 72 20 73 75 67 67 65 73 74 nputs..Experience.so.far.suggest
02c0 73 0a 74 68 61 74 20 6d 6f 73 74 20 66 69 72 73 74 2d 74 69 6d 65 20 61 75 74 68 6f 72 73 20 6f s.that.most.first-time.authors.o
02e0 66 20 55 54 46 2d 38 20 64 65 63 6f 64 65 72 73 20 66 69 6e 64 20 61 74 20 6c 65 61 73 74 20 6f f.UTF-8.decoders.find.at.least.o
0300 6e 65 0a 73 65 72 69 6f 75 73 20 70 72 6f 62 6c 65 6d 20 69 6e 20 74 68 65 69 72 20 64 65 63 6f ne.serious.problem.in.their.deco
0320 64 65 72 20 75 73 69 6e 67 20 74 68 69 73 20 66 69 6c 65 2e 0a 0a 54 68 65 20 74 65 73 74 20 6c der.using.this.file...The.test.l
0340 69 6e 65 73 20 62 65 6c 6f 77 20 63 6f 76 65 72 20 62 6f 75 6e 64 61 72 79 20 63 6f 6e 64 69 74 ines.below.cover.boundary.condit
0360 69 6f 6e 73 2c 20 6d 61 6c 66 6f 72 6d 65 64 20 55 54 46 2d 38 0a 73 65 71 75 65 6e 63 65 73 2c ions,.malformed.UTF-8.sequences,
0380 20 61 73 20 77 65 6c 6c 20 61 73 20 63 6f 72 72 65 63 74 6c 79 20 65 6e 63 6f 64 65 64 20 55 54 .as.well.as.correctly.encoded.UT
03a0 46 2d 38 20 73 65 71 75 65 6e 63 65 73 20 6f 66 20 55 6e 69 63 6f 64 65 20 63 6f 64 65 0a 70 6f F-8.sequences.of.Unicode.code.po
03c0 69 6e 74 73 20 74 68 61 74 20 73 68 6f 75 6c 64 20 6e 65 76 65 72 20 6f 63 63 75 72 20 69 6e 20 ints.that.should.never.occur.in.
03e0 61 20 63 6f 72 72 65 63 74 20 55 54 46 2d 38 20 66 69 6c 65 2e 0a 0a 41 63 63 6f 72 64 69 6e 67 a.correct.UTF-8.file...According
0400 20 74 6f 20 49 53 4f 20 31 30 36 34 36 2d 31 3a 32 30 30 30 2c 20 73 65 63 74 69 6f 6e 73 20 44 .to.ISO.10646-1:2000,.sections.D
0420 2e 37 20 61 6e 64 20 32 2e 33 63 2c 20 61 20 64 65 76 69 63 65 0a 72 65 63 65 69 76 69 6e 67 20 .7.and.2.3c,.a.device.receiving.
0440 55 54 46 2d 38 20 73 68 61 6c 6c 20 69 6e 74 65 72 70 72 65 74 20 61 20 22 6d 61 6c 66 6f 72 6d UTF-8.shall.interpret.a."malform
0460 65 64 20 73 65 71 75 65 6e 63 65 20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 0a 74 68 61 74 ed.sequence.in.the.same.way.that
0480 20 69 74 20 69 6e 74 65 72 70 72 65 74 73 20 61 20 63 68 61 72 61 63 74 65 72 20 74 68 61 74 20 .it.interprets.a.character.that.
04a0 69 73 20 6f 75 74 73 69 64 65 20 74 68 65 20 61 64 6f 70 74 65 64 20 73 75 62 73 65 74 22 20 61 is.outside.the.adopted.subset".a
04c0 6e 64 0a 22 63 68 61 72 61 63 74 65 72 73 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 77 69 74 68 nd."characters.that.are.not.with
04e0 69 6e 20 74 68 65 20 61 64 6f 70 74 65 64 20 73 75 62 73 65 74 20 73 68 61 6c 6c 20 62 65 20 69 in.the.adopted.subset.shall.be.i
0500 6e 64 69 63 61 74 65 64 0a 74 6f 20 74 68 65 20 75 73 65 72 22 20 62 79 20 61 20 72 65 63 65 69 ndicated.to.the.user".by.a.recei
0520 76 69 6e 67 20 64 65 76 69 63 65 2e 20 4f 6e 65 20 63 6f 6d 6d 6f 6e 6c 79 20 75 73 65 64 20 61 ving.device..One.commonly.used.a
0540 70 70 72 6f 61 63 68 20 69 6e 0a 55 54 46 2d 38 20 64 65 63 6f 64 65 72 73 20 69 73 20 74 6f 20 pproach.in.UTF-8.decoders.is.to.
0560 72 65 70 6c 61 63 65 20 61 6e 79 20 6d 61 6c 66 6f 72 6d 65 64 20 55 54 46 2d 38 20 73 65 71 75 replace.any.malformed.UTF-8.sequ
0580 65 6e 63 65 20 62 79 20 61 0a 72 65 70 6c 61 63 65 6d 65 6e 74 20 63 68 61 72 61 63 74 65 72 20 ence.by.a.replacement.character.
05a0 28 55 2b 46 46 46 44 29 2c 20 77 68 69 63 68 20 6c 6f 6f 6b 73 20 61 20 62 69 74 20 6c 69 6b 65 (U+FFFD),.which.looks.a.bit.like
05c0 20 61 6e 20 69 6e 76 65 72 74 65 64 0a 71 75 65 73 74 69 6f 6e 20 6d 61 72 6b 2c 20 6f 72 20 61 .an.inverted.question.mark,.or.a
05e0 20 73 69 6d 69 6c 61 72 20 73 79 6d 62 6f 6c 2e 20 49 74 20 6d 69 67 68 74 20 62 65 20 61 20 67 .similar.symbol..It.might.be.a.g
0600 6f 6f 64 20 69 64 65 61 20 74 6f 0a 76 69 73 75 61 6c 6c 79 20 64 69 73 74 69 6e 67 75 69 73 68 ood.idea.to.visually.distinguish
0620 20 61 20 6d 61 6c 66 6f 72 6d 65 64 20 55 54 46 2d 38 20 73 65 71 75 65 6e 63 65 20 66 72 6f 6d .a.malformed.UTF-8.sequence.from
0640 20 61 20 63 6f 72 72 65 63 74 6c 79 0a 65 6e 63 6f 64 65 64 20 55 6e 69 63 6f 64 65 20 63 68 61 .a.correctly.encoded.Unicode.cha
0660 72 61 63 74 65 72 20 74 68 61 74 20 69 73 20 6a 75 73 74 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c racter.that.is.just.not.availabl
0680 65 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 0a 66 6f 6e 74 20 62 75 74 20 6f 74 68 65 72 77 e.in.the.current.font.but.otherw
06a0 69 73 65 20 66 75 6c 6c 79 20 6c 65 67 61 6c 2c 20 65 76 65 6e 20 74 68 6f 75 67 68 20 49 53 4f ise.fully.legal,.even.though.ISO
06c0 20 31 30 36 34 36 2d 31 20 64 6f 65 73 6e 27 74 0a 6d 61 6e 64 61 74 65 20 74 68 69 73 2e 20 49 .10646-1.doesn't.mandate.this..I
06e0 6e 20 61 6e 79 20 63 61 73 65 2c 20 6a 75 73 74 20 69 67 6e 6f 72 69 6e 67 20 6d 61 6c 66 6f 72 n.any.case,.just.ignoring.malfor
0700 6d 65 64 20 73 65 71 75 65 6e 63 65 73 20 6f 72 0a 75 6e 61 76 61 69 6c 61 62 6c 65 20 63 68 61 med.sequences.or.unavailable.cha
0720 72 61 63 74 65 72 73 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 66 6f 72 6d 20 74 6f 20 49 53 4f 20 racters.does.not.conform.to.ISO.
0740 31 30 36 34 36 2c 20 77 69 6c 6c 20 6d 61 6b 65 0a 64 65 62 75 67 67 69 6e 67 20 6d 6f 72 65 20 10646,.will.make.debugging.more.
0760 64 69 66 66 69 63 75 6c 74 2c 20 61 6e 64 20 63 61 6e 20 6c 65 61 64 20 74 6f 20 75 73 65 72 20 difficult,.and.can.lead.to.user.
0780 63 6f 6e 66 75 73 69 6f 6e 2e 0a 0a 50 6c 65 61 73 65 20 63 68 65 63 6b 2c 20 77 68 65 74 68 65 confusion...Please.check,.whethe
07a0 72 20 61 20 6d 61 6c 66 6f 72 6d 65 64 20 55 54 46 2d 38 20 73 65 71 75 65 6e 63 65 20 69 73 20 r.a.malformed.UTF-8.sequence.is.
07c0 28 31 29 20 72 65 70 72 65 73 65 6e 74 65 64 20 61 74 0a 61 6c 6c 2c 20 28 32 29 20 72 65 70 72 (1).represented.at.all,.(2).repr
07e0 65 73 65 6e 74 65 64 20 62 79 20 65 78 61 63 74 6c 79 20 6f 6e 65 20 73 69 6e 67 6c 65 20 72 65 esented.by.exactly.one.single.re
0800 70 6c 61 63 65 6d 65 6e 74 20 63 68 61 72 61 63 74 65 72 20 28 6f 72 0a 65 71 75 69 76 61 6c 65 placement.character.(or.equivale
0820 6e 74 20 73 69 67 6e 61 6c 29 2c 20 61 6e 64 20 28 33 29 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e nt.signal),.and.(3).the.followin
0840 67 20 71 75 6f 74 61 74 69 6f 6e 20 6d 61 72 6b 20 61 66 74 65 72 20 61 6e 0a 69 6c 6c 65 67 61 g.quotation.mark.after.an.illega
0860 6c 20 55 54 46 2d 38 20 73 65 71 75 65 6e 63 65 20 69 73 20 63 6f 72 72 65 63 74 6c 79 20 64 69 l.UTF-8.sequence.is.correctly.di
0880 73 70 6c 61 79 65 64 2c 20 69 2e 65 2e 20 70 72 6f 70 65 72 0a 72 65 73 79 6e 63 68 72 6f 6e 69 splayed,.i.e..proper.resynchroni
08a0 7a 61 74 69 6f 6e 20 74 61 6b 65 73 20 70 6c 61 63 65 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 zation.takes.place.immediately.a
08c0 66 74 65 72 20 61 6e 79 20 6d 61 6c 66 6f 72 6d 65 64 0a 73 65 71 75 65 6e 63 65 2e 20 54 68 69 fter.any.malformed.sequence..Thi
08e0 73 20 66 69 6c 65 20 73 61 79 73 20 22 54 48 45 20 45 4e 44 22 20 69 6e 20 74 68 65 20 6c 61 73 s.file.says."THE.END".in.the.las
0900 74 20 6c 69 6e 65 2c 20 73 6f 20 69 66 20 79 6f 75 20 64 6f 6e 27 74 0a 73 65 65 20 74 68 61 74 t.line,.so.if.you.don't.see.that
0920 2c 20 79 6f 75 72 20 64 65 63 6f 64 65 72 20 63 72 61 73 68 65 64 20 73 6f 6d 65 68 6f 77 20 62 ,.your.decoder.crashed.somehow.b
0940 65 66 6f 72 65 2c 20 77 68 69 63 68 20 73 68 6f 75 6c 64 20 61 6c 77 61 79 73 20 62 65 0a 63 61 efore,.which.should.always.be.ca
0960 75 73 65 20 66 6f 72 20 63 6f 6e 63 65 72 6e 2e 0a 0a 41 6c 6c 20 6c 69 6e 65 73 20 69 6e 20 74 use.for.concern...All.lines.in.t
0980 68 69 73 20 66 69 6c 65 20 61 72 65 20 65 78 61 63 74 6c 79 20 37 39 20 63 68 61 72 61 63 74 65 his.file.are.exactly.79.characte
09a0 72 73 20 6c 6f 6e 67 20 28 70 6c 75 73 20 74 68 65 20 6c 69 6e 65 0a 66 65 65 64 29 2e 20 49 6e rs.long.(plus.the.line.feed)..In
09c0 20 61 64 64 69 74 69 6f 6e 2c 20 61 6c 6c 20 6c 69 6e 65 73 20 65 6e 64 20 77 69 74 68 20 22 7c .addition,.all.lines.end.with."|
09e0 22 2c 20 65 78 63 65 70 74 20 66 6f 72 20 74 68 65 20 74 77 6f 20 74 65 73 74 0a 6c 69 6e 65 73 ",.except.for.the.two.test.lines
0a00 20 32 2e 31 2e 31 20 61 6e 64 20 32 2e 32 2e 31 2c 20 77 68 69 63 68 20 63 6f 6e 74 61 69 6e 20 .2.1.1.and.2.2.1,.which.contain.
0a20 6e 6f 6e 2d 70 72 69 6e 74 61 62 6c 65 20 41 53 43 49 49 20 63 6f 6e 74 72 6f 6c 73 0a 55 2b 30 non-printable.ASCII.controls.U+0
0a40 30 30 30 20 61 6e 64 20 55 2b 30 30 37 46 2e 20 49 66 20 79 6f 75 20 64 69 73 70 6c 61 79 20 74 000.and.U+007F..If.you.display.t
0a60 68 69 73 20 66 69 6c 65 20 77 69 74 68 20 61 20 66 69 78 65 64 2d 77 69 64 74 68 20 66 6f 6e 74 his.file.with.a.fixed-width.font
0a80 2c 0a 74 68 65 73 65 20 22 7c 22 20 63 68 61 72 61 63 74 65 72 73 20 73 68 6f 75 6c 64 20 61 6c ,.these."|".characters.should.al
0aa0 6c 20 6c 69 6e 65 20 75 70 20 69 6e 20 63 6f 6c 75 6d 6e 20 37 39 20 28 72 69 67 68 74 20 6d 61 l.line.up.in.column.79.(right.ma
0ac0 72 67 69 6e 29 2e 0a 54 68 69 73 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 74 65 73 74 20 71 rgin)..This.allows.you.to.test.q
0ae0 75 69 63 6b 6c 79 2c 20 77 68 65 74 68 65 72 20 79 6f 75 72 20 55 54 46 2d 38 20 64 65 63 6f 64 uickly,.whether.your.UTF-8.decod
0b00 65 72 20 66 69 6e 64 73 20 74 68 65 0a 63 6f 72 72 65 63 74 20 6e 75 6d 62 65 72 20 6f 66 20 63 er.finds.the.correct.number.of.c
0b20 68 61 72 61 63 74 65 72 73 20 69 6e 20 65 76 65 72 79 20 6c 69 6e 65 2c 20 74 68 61 74 20 69 73 haracters.in.every.line,.that.is
0b40 20 77 68 65 74 68 65 72 20 65 61 63 68 0a 6d 61 6c 66 6f 72 6d 65 64 20 73 65 71 75 65 6e 63 65 .whether.each.malformed.sequence
0b60 73 20 69 73 20 72 65 70 6c 61 63 65 64 20 62 79 20 61 20 73 69 6e 67 6c 65 20 72 65 70 6c 61 63 s.is.replaced.by.a.single.replac
0b80 65 6d 65 6e 74 20 63 68 61 72 61 63 74 65 72 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 2c 20 61 73 20 ement.character...Note.that,.as.
0ba0 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 20 74 6f 20 74 68 65 20 6e 6f 74 69 6f 6e 20 6f 66 20 an.alternative.to.the.notion.of.
0bc0 6d 61 6c 66 6f 72 6d 65 64 20 73 65 71 75 65 6e 63 65 20 75 73 65 64 0a 68 65 72 65 2c 20 69 74 malformed.sequence.used.here,.it
0be0 20 69 73 20 61 6c 73 6f 20 61 20 70 65 72 66 65 63 74 6c 79 20 61 63 63 65 70 74 61 62 6c 65 20 .is.also.a.perfectly.acceptable.
0c00 28 61 6e 64 20 69 6e 20 73 6f 6d 65 20 73 69 74 75 61 74 69 6f 6e 73 20 65 76 65 6e 0a 70 72 65 (and.in.some.situations.even.pre
0c20 66 65 72 61 62 6c 65 29 20 73 6f 6c 75 74 69 6f 6e 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20 65 ferable).solution.to.represent.e
0c40 61 63 68 20 69 6e 64 69 76 69 64 75 61 6c 20 62 79 74 65 20 6f 66 20 61 20 6d 61 6c 66 6f 72 6d ach.individual.byte.of.a.malform
0c60 65 64 0a 73 65 71 75 65 6e 63 65 20 77 69 74 68 20 61 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 63 ed.sequence.with.a.replacement.c
0c80 68 61 72 61 63 74 65 72 2e 20 49 66 20 79 6f 75 20 66 6f 6c 6c 6f 77 20 74 68 69 73 20 73 74 72 haracter..If.you.follow.this.str
0ca0 61 74 65 67 79 20 69 6e 0a 79 6f 75 72 20 64 65 63 6f 64 65 72 2c 20 74 68 65 6e 20 70 6c 65 61 ategy.in.your.decoder,.then.plea
0cc0 73 65 20 69 67 6e 6f 72 65 20 74 68 65 20 22 7c 22 20 63 6f 6c 75 6d 6e 2e 0a 0a 0a 48 65 72 65 se.ignore.the."|".column....Here
0ce0 20 63 6f 6d 65 20 74 68 65 20 74 65 73 74 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .come.the.tests:................
0d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
0d20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........|.....................
0d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
0d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 31 20 20 53 ..........................|.1..S
0d80 6f 6d 65 20 63 6f 72 72 65 63 74 20 55 54 46 2d 38 20 74 65 78 74 20 20 20 20 20 20 20 20 20 20 ome.correct.UTF-8.text..........
0da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
0dc0 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........|.....................
0de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
0e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 59 6f 75 20 ..........................|.You.
0e20 73 68 6f 75 6c 64 20 73 65 65 20 74 68 65 20 47 72 65 65 6b 20 77 6f 72 64 20 27 6b 6f 73 6d 65 should.see.the.Greek.word.'kosme
0e40 27 3a 20 20 20 20 20 20 20 22 ce ba e1 bd b9 cf 83 ce bc ce b5 22 20 20 20 20 20 20 20 20 20 20 ':......."..........."..........
0e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................|...............
0e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
0ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
0ec0 7c 0a 32 20 20 42 6f 75 6e 64 61 72 79 20 63 6f 6e 64 69 74 69 6f 6e 20 74 65 73 74 20 63 61 73 |.2..Boundary.condition.test.cas
0ee0 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 es..............................
0f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................|...............
0f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
0f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
0f60 7c 0a 32 2e 31 20 20 46 69 72 73 74 20 70 6f 73 73 69 62 6c 65 20 73 65 71 75 65 6e 63 65 20 6f |.2.1..First.possible.sequence.o
0f80 66 20 61 20 63 65 72 74 61 69 6e 20 6c 65 6e 67 74 68 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f.a.certain.length..............
0fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................|...............
0fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
0fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1000 7c 0a 32 2e 31 2e 31 20 20 31 20 62 79 74 65 20 20 28 55 2d 30 30 30 30 30 30 30 30 29 3a 20 20 |.2.1.1..1.byte..(U-00000000):..
1020 20 20 20 20 20 20 22 00 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......".".......................
1040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 32 2e 31 2e 32 20 20 32 20 62 79 74 65 73 ..................2.1.2..2.bytes
1060 20 28 55 2d 30 30 30 30 30 30 38 30 29 3a 20 20 20 20 20 20 20 20 22 c2 80 22 20 20 20 20 20 20 .(U-00000080):........".."......
1080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
10a0 20 7c 0a 32 2e 31 2e 33 20 20 33 20 62 79 74 65 73 20 28 55 2d 30 30 30 30 30 38 30 30 29 3a 20 .|.2.1.3..3.bytes.(U-00000800):.
10c0 20 20 20 20 20 20 20 22 e0 a0 80 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......."..."....................
10e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 32 2e 31 2e 34 20 20 34 20 62 79 ...................|.2.1.4..4.by
1100 74 65 73 20 28 55 2d 30 30 30 31 30 30 30 30 29 3a 20 20 20 20 20 20 20 20 22 f0 90 80 80 22 20 tes.(U-00010000):........"....".
1120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1140 20 20 20 20 20 20 7c 0a 32 2e 31 2e 35 20 20 35 20 62 79 74 65 73 20 28 55 2d 30 30 32 30 30 30 ......|.2.1.5..5.bytes.(U-002000
1160 30 30 29 3a 20 20 20 20 20 20 20 20 22 f8 88 80 80 80 22 20 20 20 20 20 20 20 20 20 20 20 20 20 00):........".....".............
1180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 32 2e 31 2e ..........................|.2.1.
11a0 36 20 20 36 20 62 79 74 65 73 20 28 55 2d 30 34 30 30 30 30 30 30 29 3a 20 20 20 20 20 20 20 20 6..6.bytes.(U-04000000):........
11c0 22 fc 84 80 80 80 80 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "......"........................
11e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............|................
1200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ...............................|
1240 0a 32 2e 32 20 20 4c 61 73 74 20 70 6f 73 73 69 62 6c 65 20 73 65 71 75 65 6e 63 65 20 6f 66 20 .2.2..Last.possible.sequence.of.
1260 61 20 63 65 72 74 61 69 6e 20 6c 65 6e 67 74 68 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 a.certain.length................
1280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............|................
12a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
12c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ...............................|
12e0 0a 32 2e 32 2e 31 20 20 31 20 62 79 74 65 20 20 28 55 2d 30 30 30 30 30 30 37 46 29 3a 20 20 20 .2.2.1..1.byte..(U-0000007F):...
1300 20 20 20 20 20 22 7f 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."."........................
1320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 32 2e 32 2e 32 20 20 32 20 62 79 74 65 73 20 .................2.2.2..2.bytes.
1340 28 55 2d 30 30 30 30 30 37 46 46 29 3a 20 20 20 20 20 20 20 20 22 df bf 22 20 20 20 20 20 20 20 (U-000007FF):........"..".......
1360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1380 7c 0a 32 2e 32 2e 33 20 20 33 20 62 79 74 65 73 20 28 55 2d 30 30 30 30 46 46 46 46 29 3a 20 20 |.2.2.3..3.bytes.(U-0000FFFF):..
13a0 20 20 20 20 20 20 22 ef bf bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"...".....................
13c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 32 2e 32 2e 34 20 20 34 20 62 79 74 ..................|.2.2.4..4.byt
13e0 65 73 20 28 55 2d 30 30 31 46 46 46 46 46 29 3a 20 20 20 20 20 20 20 20 22 f7 bf bf bf 22 20 20 es.(U-001FFFFF):........"...."..
1400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1420 20 20 20 20 20 7c 0a 32 2e 32 2e 35 20 20 35 20 62 79 74 65 73 20 28 55 2d 30 33 46 46 46 46 46 .....|.2.2.5..5.bytes.(U-03FFFFF
1440 46 29 3a 20 20 20 20 20 20 20 20 22 fb bf bf bf bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 F):........"....."..............
1460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 32 2e 32 2e 36 .........................|.2.2.6
1480 20 20 36 20 62 79 74 65 73 20 28 55 2d 37 46 46 46 46 46 46 46 29 3a 20 20 20 20 20 20 20 20 22 ..6.bytes.(U-7FFFFFFF):........"
14a0 fd bf bf bf bf bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......".........................
14c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............|.................
14e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a ..............................|.
1520 32 2e 33 20 20 4f 74 68 65 72 20 62 6f 75 6e 64 61 72 79 20 63 6f 6e 64 69 74 69 6f 6e 73 20 20 2.3..Other.boundary.conditions..
1540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............|.................
1580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
15a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a ..............................|.
15c0 32 2e 33 2e 31 20 20 55 2d 30 30 30 30 44 37 46 46 20 3d 20 65 64 20 39 66 20 62 66 20 3d 20 22 2.3.1..U-0000D7FF.=.ed.9f.bf.=."
15e0 ed 9f bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."............................
1600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 32 2e 33 2e 32 20 20 55 2d 30 30 30 30 45 ................|.2.3.2..U-0000E
1620 30 30 30 20 3d 20 65 65 20 38 30 20 38 30 20 3d 20 22 ee 80 80 22 20 20 20 20 20 20 20 20 20 20 000.=.ee.80.80.=."..."..........
1640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1660 20 20 7c 0a 32 2e 33 2e 33 20 20 55 2d 30 30 30 30 46 46 46 44 20 3d 20 65 66 20 62 66 20 62 64 ..|.2.3.3..U-0000FFFD.=.ef.bf.bd
1680 20 3d 20 22 ef bf bd 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .=."..."........................
16a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 32 2e 33 2e 34 20 20 55 2d 30 ....................|.2.3.4..U-0
16c0 30 31 30 46 46 46 46 20 3d 20 66 34 20 38 66 20 62 66 20 62 66 20 3d 20 22 f4 8f bf bf 22 20 20 010FFFF.=.f4.8f.bf.bf.=."...."..
16e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1700 20 20 20 20 20 20 20 7c 0a 32 2e 33 2e 35 20 20 55 2d 30 30 31 31 30 30 30 30 20 3d 20 66 34 20 .......|.2.3.5..U-00110000.=.f4.
1720 39 30 20 38 30 20 38 30 20 3d 20 22 f4 90 80 80 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 90.80.80.=."...."...............
1740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 ..........................|.....
1760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
17a0 20 20 20 20 20 20 20 20 20 20 7c 0a 33 20 20 4d 61 6c 66 6f 72 6d 65 64 20 73 65 71 75 65 6e 63 ..........|.3..Malformed.sequenc
17c0 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 es..............................
17e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 ..........................|.....
1800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1840 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 31 20 20 55 6e 65 78 70 65 63 74 65 64 20 63 6f 6e 74 ..........|.3.1..Unexpected.cont
1860 69 6e 75 61 74 69 6f 6e 20 62 79 74 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 inuation.bytes..................
1880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 ..........................|.....
18a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
18c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
18e0 20 20 20 20 20 20 20 20 20 20 7c 0a 45 61 63 68 20 75 6e 65 78 70 65 63 74 65 64 20 63 6f 6e 74 ..........|.Each.unexpected.cont
1900 69 6e 75 61 74 69 6f 6e 20 62 79 74 65 20 73 68 6f 75 6c 64 20 62 65 20 73 65 70 61 72 61 74 65 inuation.byte.should.be.separate
1920 6c 79 20 73 69 67 6e 61 6c 6c 65 64 20 61 73 20 61 20 20 20 20 20 20 20 20 20 7c 0a 6d 61 6c 66 ly.signalled.as.a.........|.malf
1940 6f 72 6d 65 64 20 73 65 71 75 65 6e 63 65 20 6f 66 20 69 74 73 20 6f 77 6e 2e 20 20 20 20 20 20 ormed.sequence.of.its.own.......
1960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1980 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........|.....................
19a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
19c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 31 2e ..........................|.3.1.
19e0 31 20 20 46 69 72 73 74 20 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 20 62 79 74 65 20 30 78 38 30 3a 1..First.continuation.byte.0x80:
1a00 20 22 80 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."."............................
1a20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 31 2e 32 20 20 4c 61 73 74 20 20 63 6f 6e 74 69 6e 75 ..........|.3.1.2..Last..continu
1a40 61 74 69 6f 6e 20 62 79 74 65 20 30 78 62 66 3a 20 22 bf 22 20 20 20 20 20 20 20 20 20 20 20 20 ation.byte.0xbf:."."............
1a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 ..........................|.....
1a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1ac0 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 31 2e 33 20 20 32 20 63 6f 6e 74 69 6e 75 61 74 69 6f ..........|.3.1.3..2.continuatio
1ae0 6e 20 62 79 74 65 73 3a 20 22 80 bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.bytes:.".."...................
1b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 31 2e ..........................|.3.1.
1b20 34 20 20 33 20 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 20 62 79 74 65 73 3a 20 22 80 bf 80 22 20 20 4..3.continuation.bytes:."..."..
1b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b60 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 31 2e 35 20 20 34 20 63 6f 6e 74 69 6e 75 61 74 69 6f ..........|.3.1.5..4.continuatio
1b80 6e 20 62 79 74 65 73 3a 20 22 80 bf 80 bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.bytes:."....".................
1ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 31 2e ..........................|.3.1.
1bc0 36 20 20 35 20 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 20 62 79 74 65 73 3a 20 22 80 bf 80 bf 80 22 6..5.continuation.bytes:."....."
1be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1c00 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 31 2e 37 20 20 36 20 63 6f 6e 74 69 6e 75 61 74 69 6f ..........|.3.1.7..6.continuatio
1c20 6e 20 62 79 74 65 73 3a 20 22 80 bf 80 bf 80 bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.bytes:."......"...............
1c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 31 2e ..........................|.3.1.
1c60 38 20 20 37 20 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 20 62 79 74 65 73 3a 20 22 80 bf 80 bf 80 bf 8..7.continuation.bytes:."......
1c80 80 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."..............................
1ca0 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........|.....................
1cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 31 2e ..........................|.3.1.
1d00 39 20 20 53 65 71 75 65 6e 63 65 20 6f 66 20 61 6c 6c 20 36 34 20 70 6f 73 73 69 62 6c 65 20 63 9..Sequence.of.all.64.possible.c
1d20 6f 6e 74 69 6e 75 61 74 69 6f 6e 20 62 79 74 65 73 20 28 30 78 38 30 2d 30 78 62 66 29 3a 20 20 ontinuation.bytes.(0x80-0xbf):..
1d40 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........|.....................
1d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 22 ..........................|...."
1da0 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1de0 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f ..........|.....................
1e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 ..........................|.....
1e40 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1e80 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf ..........|.....................
1ea0 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "...............................
1ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 ..........................|.....
1ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1f20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 32 20 20 4c 6f 6e 65 6c 79 20 73 74 61 72 74 20 63 68 ..........|.3.2..Lonely.start.ch
1f40 61 72 61 63 74 65 72 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 aracters........................
1f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 ..........................|.....
1f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1fc0 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 32 2e 31 20 20 41 6c 6c 20 33 32 20 66 69 72 73 74 20 ..........|.3.2.1..All.32.first.
1fe0 62 79 74 65 73 20 6f 66 20 32 2d 62 79 74 65 20 73 65 71 75 65 6e 63 65 73 20 28 30 78 63 30 2d bytes.of.2-byte.sequences.(0xc0-
2000 30 78 64 66 29 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 0xdf),....................|.....
2020 20 20 20 65 61 63 68 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 73 70 61 63 65 20 63 68 61 72 ...each.followed.by.a.space.char
2040 61 63 74 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 acter:..........................
2060 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........|.....................
2080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
20a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 22 ..........................|...."
20c0 c0 20 c1 20 c2 20 c3 20 c4 20 c5 20 c6 20 c7 20 c8 20 c9 20 ca 20 cb 20 cc 20 cd 20 ce 20 cf 20 ................................
20e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2100 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 d0 20 d1 20 d2 20 d3 20 d4 20 d5 20 d6 20 d7 20 ..........|.....................
2120 d8 20 d9 20 da 20 db 20 dc 20 dd 20 de 20 df 20 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................"...............
2140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 ..........................|.....
2160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
21a0 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 32 2e 32 20 20 41 6c 6c 20 31 36 20 66 69 72 73 74 20 ..........|.3.2.2..All.16.first.
21c0 62 79 74 65 73 20 6f 66 20 33 2d 62 79 74 65 20 73 65 71 75 65 6e 63 65 73 20 28 30 78 65 30 2d bytes.of.3-byte.sequences.(0xe0-
21e0 30 78 65 66 29 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 0xef),....................|.....
2200 20 20 20 65 61 63 68 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 73 70 61 63 65 20 63 68 61 72 ...each.followed.by.a.space.char
2220 61 63 74 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 acter:..........................
2240 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........|.....................
2260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 22 ..........................|...."
22a0 e0 20 e1 20 e2 20 e3 20 e4 20 e5 20 e6 20 e7 20 e8 20 e9 20 ea 20 eb 20 ec 20 ed 20 ee 20 ef 20 ................................
22c0 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "...............................
22e0 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........|.....................
2300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 32 2e ..........................|.3.2.
2340 33 20 20 41 6c 6c 20 38 20 66 69 72 73 74 20 62 79 74 65 73 20 6f 66 20 34 2d 62 79 74 65 20 73 3..All.8.first.bytes.of.4-byte.s
2360 65 71 75 65 6e 63 65 73 20 28 30 78 66 30 2d 30 78 66 37 29 2c 20 20 20 20 20 20 20 20 20 20 20 equences.(0xf0-0xf7),...........
2380 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 65 61 63 68 20 66 6f 6c 6c 6f 77 65 64 ..........|........each.followed
23a0 20 62 79 20 61 20 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 3a 20 20 20 20 20 20 20 20 20 20 .by.a.space.character:..........
23c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 ..........................|.....
23e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2420 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 22 f0 20 f1 20 f2 20 f3 20 f4 20 f5 20 f6 20 f7 20 ..........|...."................
2440 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "...............................
2460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 ..........................|.....
2480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
24a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
24c0 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 32 2e 34 20 20 41 6c 6c 20 34 20 66 69 72 73 74 20 62 ..........|.3.2.4..All.4.first.b
24e0 79 74 65 73 20 6f 66 20 35 2d 62 79 74 65 20 73 65 71 75 65 6e 63 65 73 20 28 30 78 66 38 2d 30 ytes.of.5-byte.sequences.(0xf8-0
2500 78 66 62 29 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 xfb),.....................|.....
2520 20 20 20 65 61 63 68 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 73 70 61 63 65 20 63 68 61 72 ...each.followed.by.a.space.char
2540 61 63 74 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 acter:..........................
2560 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........|.....................
2580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
25a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 22 ..........................|...."
25c0 f8 20 f9 20 fa 20 fb 20 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........".......................
25e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2600 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........|.....................
2620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 32 2e ..........................|.3.2.
2660 35 20 20 41 6c 6c 20 32 20 66 69 72 73 74 20 62 79 74 65 73 20 6f 66 20 36 2d 62 79 74 65 20 73 5..All.2.first.bytes.of.6-byte.s
2680 65 71 75 65 6e 63 65 73 20 28 30 78 66 63 2d 30 78 66 64 29 2c 20 20 20 20 20 20 20 20 20 20 20 equences.(0xfc-0xfd),...........
26a0 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 65 61 63 68 20 66 6f 6c 6c 6f 77 65 64 ..........|........each.followed
26c0 20 62 79 20 61 20 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 3a 20 20 20 20 20 20 20 20 20 20 .by.a.space.character:..........
26e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 ..........................|.....
2700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2740 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 22 fc 20 fd 20 22 20 20 20 20 20 20 20 20 20 20 20 ..........|...."...."...........
2760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 ..........................|.....
27a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
27c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
27e0 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 33 20 20 53 65 71 75 65 6e 63 65 73 20 77 69 74 68 20 ..........|.3.3..Sequences.with.
2800 6c 61 73 74 20 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 20 62 79 74 65 20 6d 69 73 73 69 6e 67 20 20 last.continuation.byte.missing..
2820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 ..........................|.....
2840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2880 20 20 20 20 20 20 20 20 20 20 7c 0a 41 6c 6c 20 62 79 74 65 73 20 6f 66 20 61 6e 20 69 6e 63 6f ..........|.All.bytes.of.an.inco
28a0 6d 70 6c 65 74 65 20 73 65 71 75 65 6e 63 65 20 73 68 6f 75 6c 64 20 62 65 20 73 69 67 6e 61 6c mplete.sequence.should.be.signal
28c0 6c 65 64 20 61 73 20 61 20 73 69 6e 67 6c 65 20 20 20 20 20 20 20 20 20 20 20 7c 0a 6d 61 6c 66 led.as.a.single...........|.malf
28e0 6f 72 6d 65 64 20 73 65 71 75 65 6e 63 65 2c 20 69 2e 65 2e 2c 20 79 6f 75 20 73 68 6f 75 6c 64 ormed.sequence,.i.e.,.you.should
2900 20 73 65 65 20 6f 6e 6c 79 20 61 20 73 69 6e 67 6c 65 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 20 .see.only.a.single.replacement..
2920 20 20 20 20 20 20 20 20 20 20 7c 0a 63 68 61 72 61 63 74 65 72 20 69 6e 20 65 61 63 68 20 6f 66 ..........|.character.in.each.of
2940 20 74 68 65 20 6e 65 78 74 20 31 30 20 74 65 73 74 73 2e 20 28 43 68 61 72 61 63 74 65 72 73 20 .the.next.10.tests..(Characters.
2960 61 73 20 69 6e 20 73 65 63 74 69 6f 6e 20 32 29 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 as.in.section.2)..........|.....
2980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
29a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
29c0 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 33 2e 31 20 20 32 2d 62 79 74 65 20 73 65 71 75 65 6e ..........|.3.3.1..2-byte.sequen
29e0 63 65 20 77 69 74 68 20 6c 61 73 74 20 62 79 74 65 20 6d 69 73 73 69 6e 67 20 28 55 2b 30 30 30 ce.with.last.byte.missing.(U+000
2a00 30 29 3a 20 20 20 20 20 22 c0 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 33 2e 0):....."."...............|.3.3.
2a20 32 20 20 33 2d 62 79 74 65 20 73 65 71 75 65 6e 63 65 20 77 69 74 68 20 6c 61 73 74 20 62 79 74 2..3-byte.sequence.with.last.byt
2a40 65 20 6d 69 73 73 69 6e 67 20 28 55 2b 30 30 30 30 29 3a 20 20 20 20 20 22 e0 80 22 20 20 20 20 e.missing.(U+0000):.....".."....
2a60 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 33 2e 33 20 20 34 2d 62 79 74 65 20 73 65 71 75 65 ...........|.3.3.3..4-byte.seque
2a80 6e 63 65 20 77 69 74 68 20 6c 61 73 74 20 62 79 74 65 20 6d 69 73 73 69 6e 67 20 28 55 2b 30 30 nce.with.last.byte.missing.(U+00
2aa0 30 30 29 3a 20 20 20 20 20 22 f0 80 80 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 00):....."..."...............|.3
2ac0 2e 33 2e 34 20 20 35 2d 62 79 74 65 20 73 65 71 75 65 6e 63 65 20 77 69 74 68 20 6c 61 73 74 20 .3.4..5-byte.sequence.with.last.
2ae0 62 79 74 65 20 6d 69 73 73 69 6e 67 20 28 55 2b 30 30 30 30 29 3a 20 20 20 20 20 22 f8 80 80 80 byte.missing.(U+0000):....."....
2b00 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 33 2e 35 20 20 36 2d 62 79 74 65 20 "...............|.3.3.5..6-byte.
2b20 73 65 71 75 65 6e 63 65 20 77 69 74 68 20 6c 61 73 74 20 62 79 74 65 20 6d 69 73 73 69 6e 67 20 sequence.with.last.byte.missing.
2b40 28 55 2b 30 30 30 30 29 3a 20 20 20 20 20 22 fc 80 80 80 80 22 20 20 20 20 20 20 20 20 20 20 20 (U+0000):....."....."...........
2b60 20 20 20 20 7c 0a 33 2e 33 2e 36 20 20 32 2d 62 79 74 65 20 73 65 71 75 65 6e 63 65 20 77 69 74 ....|.3.3.6..2-byte.sequence.wit
2b80 68 20 6c 61 73 74 20 62 79 74 65 20 6d 69 73 73 69 6e 67 20 28 55 2d 30 30 30 30 30 37 46 46 29 h.last.byte.missing.(U-000007FF)
2ba0 3a 20 22 df 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 33 2e 37 20 20 33 2d 62 :."."...............|.3.3.7..3-b
2bc0 79 74 65 20 73 65 71 75 65 6e 63 65 20 77 69 74 68 20 6c 61 73 74 20 62 79 74 65 20 6d 69 73 73 yte.sequence.with.last.byte.miss
2be0 69 6e 67 20 28 55 2d 30 30 30 30 46 46 46 46 29 3a 20 22 ef bf 22 20 20 20 20 20 20 20 20 20 20 ing.(U-0000FFFF):.".."..........
2c00 20 20 20 20 20 7c 0a 33 2e 33 2e 38 20 20 34 2d 62 79 74 65 20 73 65 71 75 65 6e 63 65 20 77 69 .....|.3.3.8..4-byte.sequence.wi
2c20 74 68 20 6c 61 73 74 20 62 79 74 65 20 6d 69 73 73 69 6e 67 20 28 55 2d 30 30 31 46 46 46 46 46 th.last.byte.missing.(U-001FFFFF
2c40 29 3a 20 22 f7 bf bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 33 2e 39 20 20 ):."..."...............|.3.3.9..
2c60 35 2d 62 79 74 65 20 73 65 71 75 65 6e 63 65 20 77 69 74 68 20 6c 61 73 74 20 62 79 74 65 20 6d 5-byte.sequence.with.last.byte.m
2c80 69 73 73 69 6e 67 20 28 55 2d 30 33 46 46 46 46 46 46 29 3a 20 22 fb bf bf bf 22 20 20 20 20 20 issing.(U-03FFFFFF):."....".....
2ca0 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 33 2e 31 30 20 36 2d 62 79 74 65 20 73 65 71 75 65 6e ..........|.3.3.10.6-byte.sequen
2cc0 63 65 20 77 69 74 68 20 6c 61 73 74 20 62 79 74 65 20 6d 69 73 73 69 6e 67 20 28 55 2d 37 46 46 ce.with.last.byte.missing.(U-7FF
2ce0 46 46 46 46 46 29 3a 20 22 fd bf bf bf bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a FFFFF):."....."...............|.
2d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 34 20 20 43 6f 6e 63 61 74 65 6e 61 74 69 ..............|.3.4..Concatenati
2d60 6f 6e 20 6f 66 20 69 6e 63 6f 6d 70 6c 65 74 65 20 73 65 71 75 65 6e 63 65 73 20 20 20 20 20 20 on.of.incomplete.sequences......
2d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a ..............................|.
2da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 41 6c 6c 20 74 68 65 20 31 30 20 73 65 71 75 65 ..............|.All.the.10.seque
2e00 6e 63 65 73 20 6f 66 20 33 2e 33 20 63 6f 6e 63 61 74 65 6e 61 74 65 64 2c 20 79 6f 75 20 73 68 nces.of.3.3.concatenated,.you.sh
2e20 6f 75 6c 64 20 73 65 65 20 31 30 20 6d 61 6c 66 6f 72 6d 65 64 20 20 20 20 20 20 20 20 20 7c 0a ould.see.10.malformed.........|.
2e40 73 65 71 75 65 6e 63 65 73 20 62 65 69 6e 67 20 73 69 67 6e 61 6c 6c 65 64 3a 20 20 20 20 20 20 sequences.being.signalled:......
2e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............|.................
2ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a ..............................|.
2ee0 20 20 20 22 c0 e0 80 f0 80 80 f8 80 80 80 fc 80 80 80 80 df ef bf f7 bf bf fb bf bf bf fd bf bf ..."............................
2f00 bf bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..".............................
2f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2f40 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..|.............................
2f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 35 20 20 49 6d 70 6f 73 73 69 ..................|.3.5..Impossi
2fa0 62 6c 65 20 62 79 74 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ble.bytes.......................
2fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2fe0 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..|.............................
3000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e ..................|.The.followin
3040 67 20 74 77 6f 20 62 79 74 65 73 20 63 61 6e 6e 6f 74 20 61 70 70 65 61 72 20 69 6e 20 61 20 63 g.two.bytes.cannot.appear.in.a.c
3060 6f 72 72 65 63 74 20 55 54 46 2d 38 20 73 74 72 69 6e 67 20 20 20 20 20 20 20 20 20 20 20 20 20 orrect.UTF-8.string.............
3080 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..|.............................
30a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
30c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 35 2e 31 20 20 66 65 20 3d 20 ..................|.3.5.1..fe.=.
30e0 22 fe 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ".".............................
3100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3120 20 20 7c 0a 33 2e 35 2e 32 20 20 66 66 20 3d 20 22 ff 22 20 20 20 20 20 20 20 20 20 20 20 20 20 ..|.3.5.2..ff.=.".".............
3140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 35 2e 33 20 20 66 65 20 66 65 ..................|.3.5.3..fe.fe
3180 20 66 66 20 66 66 20 3d 20 22 fe fe ff ff 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .ff.ff.=."....".................
31a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
31c0 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..|.............................
31e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 34 20 20 4f 76 65 72 6c 6f 6e 67 20 ..................|.4..Overlong.
3220 73 65 71 75 65 6e 63 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sequences.......................
3240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3260 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..|.............................
3280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
32a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e ..................|.The.followin
32c0 67 20 73 65 71 75 65 6e 63 65 73 20 61 72 65 20 6e 6f 74 20 6d 61 6c 66 6f 72 6d 65 64 20 61 63 g.sequences.are.not.malformed.ac
32e0 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 6c 65 74 74 65 72 20 6f 66 20 20 20 20 20 20 20 20 cording.to.the.letter.of........
3300 20 20 7c 0a 74 68 65 20 55 6e 69 63 6f 64 65 20 32 2e 30 20 73 74 61 6e 64 61 72 64 2e 20 48 6f ..|.the.Unicode.2.0.standard..Ho
3320 77 65 76 65 72 2c 20 74 68 65 79 20 61 72 65 20 6c 6f 6e 67 65 72 20 74 68 65 6e 20 6e 65 63 65 wever,.they.are.longer.then.nece
3340 73 73 61 72 79 20 61 6e 64 20 20 20 20 20 20 20 20 20 7c 0a 61 20 63 6f 72 72 65 63 74 20 55 54 ssary.and.........|.a.correct.UT
3360 46 2d 38 20 65 6e 63 6f 64 65 72 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 74 6f 20 70 72 F-8.encoder.is.not.allowed.to.pr
3380 6f 64 75 63 65 20 74 68 65 6d 2e 20 41 20 22 73 61 66 65 20 55 54 46 2d 38 20 20 20 20 20 20 20 oduce.them..A."safe.UTF-8.......
33a0 20 20 7c 0a 64 65 63 6f 64 65 72 22 20 73 68 6f 75 6c 64 20 72 65 6a 65 63 74 20 74 68 65 6d 20 ..|.decoder".should.reject.them.
33c0 6a 75 73 74 20 6c 69 6b 65 20 6d 61 6c 66 6f 72 6d 65 64 20 73 65 71 75 65 6e 63 65 73 20 66 6f just.like.malformed.sequences.fo
33e0 72 20 74 77 6f 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 72 65 61 73 6f 6e 73 3a 20 28 31 29 r.two.............|.reasons:.(1)
3400 20 49 74 20 68 65 6c 70 73 20 74 6f 20 64 65 62 75 67 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 .It.helps.to.debug.applications.
3420 69 66 20 6f 76 65 72 6c 6f 6e 67 20 73 65 71 75 65 6e 63 65 73 20 61 72 65 20 20 20 20 20 20 20 if.overlong.sequences.are.......
3440 20 20 7c 0a 6e 6f 74 20 74 72 65 61 74 65 64 20 61 73 20 76 61 6c 69 64 20 72 65 70 72 65 73 65 ..|.not.treated.as.valid.represe
3460 6e 74 61 74 69 6f 6e 73 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 2c 20 62 65 63 61 75 73 65 20 ntations.of.characters,.because.
3480 74 68 69 73 20 68 65 6c 70 73 20 20 20 20 20 20 20 20 7c 0a 74 6f 20 73 70 6f 74 20 70 72 6f 62 this.helps........|.to.spot.prob
34a0 6c 65 6d 73 20 6d 6f 72 65 20 71 75 69 63 6b 6c 79 2e 20 28 32 29 20 4f 76 65 72 6c 6f 6e 67 20 lems.more.quickly..(2).Overlong.
34c0 73 65 71 75 65 6e 63 65 73 20 70 72 6f 76 69 64 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sequences.provide...............
34e0 20 20 7c 0a 61 6c 74 65 72 6e 61 74 69 76 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 73 20 ..|.alternative.representations.
3500 6f 66 20 63 68 61 72 61 63 74 65 72 73 2c 20 74 68 61 74 20 63 6f 75 6c 64 20 6d 61 6c 69 63 69 of.characters,.that.could.malici
3520 6f 75 73 6c 79 20 62 65 20 20 20 20 20 20 20 20 20 20 7c 0a 75 73 65 64 20 74 6f 20 62 79 70 61 ously.be..........|.used.to.bypa
3540 73 73 20 66 69 6c 74 65 72 73 20 74 68 61 74 20 63 68 65 63 6b 20 6f 6e 6c 79 20 66 6f 72 20 41 ss.filters.that.check.only.for.A
3560 53 43 49 49 20 63 68 61 72 61 63 74 65 72 73 2e 20 46 6f 72 20 20 20 20 20 20 20 20 20 20 20 20 SCII.characters..For............
3580 20 20 7c 0a 69 6e 73 74 61 6e 63 65 2c 20 61 20 32 2d 62 79 74 65 20 65 6e 63 6f 64 65 64 20 6c ..|.instance,.a.2-byte.encoded.l
35a0 69 6e 65 20 66 65 65 64 20 28 4c 46 29 20 77 6f 75 6c 64 20 6e 6f 74 20 62 65 20 63 61 75 67 68 ine.feed.(LF).would.not.be.caugh
35c0 74 20 62 79 20 61 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 6c 69 6e 65 20 63 6f 75 6e 74 65 72 t.by.a............|.line.counter
35e0 20 74 68 61 74 20 63 6f 75 6e 74 73 20 6f 6e 6c 79 20 30 78 30 61 20 62 79 74 65 73 2c 20 62 75 .that.counts.only.0x0a.bytes,.bu
3600 74 20 69 74 20 77 6f 75 6c 64 20 73 74 69 6c 6c 20 62 65 20 20 20 20 20 20 20 20 20 20 20 20 20 t.it.would.still.be.............
3620 20 20 7c 0a 70 72 6f 63 65 73 73 65 64 20 61 73 20 61 20 6c 69 6e 65 20 66 65 65 64 20 62 79 20 ..|.processed.as.a.line.feed.by.
3640 61 6e 20 75 6e 73 61 66 65 20 55 54 46 2d 38 20 64 65 63 6f 64 65 72 20 6c 61 74 65 72 20 69 6e an.unsafe.UTF-8.decoder.later.in
3660 20 74 68 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 70 69 70 65 6c 69 6e 65 2e 20 46 72 .the..............|.pipeline..Fr
3680 6f 6d 20 61 20 73 65 63 75 72 69 74 79 20 70 6f 69 6e 74 20 6f 66 20 76 69 65 77 2c 20 41 53 43 om.a.security.point.of.view,.ASC
36a0 49 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 6f 66 20 55 54 46 2d 38 20 20 20 20 20 20 20 II.compatibility.of.UTF-8.......
36c0 20 20 7c 0a 73 65 71 75 65 6e 63 65 73 20 6d 65 61 6e 73 20 61 6c 73 6f 2c 20 74 68 61 74 20 41 ..|.sequences.means.also,.that.A
36e0 53 43 49 49 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 2a 6f 6e 6c 79 2a 20 61 6c 6c 6f 77 SCII.characters.are.*only*.allow
3700 65 64 20 74 6f 20 62 65 20 20 20 20 20 20 20 20 20 20 7c 0a 72 65 70 72 65 73 65 6e 74 65 64 20 ed.to.be..........|.represented.
3720 62 79 20 41 53 43 49 49 20 62 79 74 65 73 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 30 78 30 30 by.ASCII.bytes.in.the.range.0x00
3740 2d 30 78 37 66 2e 20 54 6f 20 65 6e 73 75 72 65 20 74 68 69 73 20 20 20 20 20 20 20 20 20 20 20 -0x7f..To.ensure.this...........
3760 20 20 7c 0a 61 73 70 65 63 74 20 6f 66 20 41 53 43 49 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 ..|.aspect.of.ASCII.compatibilit
3780 79 2c 20 75 73 65 20 6f 6e 6c 79 20 22 73 61 66 65 20 55 54 46 2d 38 20 64 65 63 6f 64 65 72 73 y,.use.only."safe.UTF-8.decoders
37a0 22 20 74 68 61 74 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 72 65 6a 65 63 74 20 6f 76 65 72 6c ".that............|.reject.overl
37c0 6f 6e 67 20 55 54 46 2d 38 20 73 65 71 75 65 6e 63 65 73 20 66 6f 72 20 77 68 69 63 68 20 61 20 ong.UTF-8.sequences.for.which.a.
37e0 73 68 6f 72 74 65 72 20 65 6e 63 6f 64 69 6e 67 20 65 78 69 73 74 73 2e 20 20 20 20 20 20 20 20 shorter.encoding.exists.........
3800 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..|.............................
3820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 34 2e 31 20 20 45 78 61 6d 70 6c 65 ..................|.4.1..Example
3860 73 20 6f 66 20 61 6e 20 6f 76 65 72 6c 6f 6e 67 20 41 53 43 49 49 20 63 68 61 72 61 63 74 65 72 s.of.an.overlong.ASCII.character
3880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
38a0 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..|.............................
38c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
38e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 57 69 74 68 20 61 20 73 61 66 65 20 ..................|.With.a.safe.
3900 55 54 46 2d 38 20 64 65 63 6f 64 65 72 2c 20 61 6c 6c 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 UTF-8.decoder,.all.of.the.follow
3920 69 6e 67 20 66 69 76 65 20 6f 76 65 72 6c 6f 6e 67 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ing.five.overlong...............
3940 20 20 7c 0a 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 41 53 43 49 49 ..|.representations.of.the.ASCII
3960 20 63 68 61 72 61 63 74 65 72 20 73 6c 61 73 68 20 28 22 2f 22 29 20 73 68 6f 75 6c 64 20 62 65 .character.slash.("/").should.be
3980 20 72 65 6a 65 63 74 65 64 20 20 20 20 20 20 20 20 20 7c 0a 6c 69 6b 65 20 61 20 6d 61 6c 66 6f .rejected.........|.like.a.malfo
39a0 72 6d 65 64 20 55 54 46 2d 38 20 73 65 71 75 65 6e 63 65 2c 20 66 6f 72 20 69 6e 73 74 61 6e 63 rmed.UTF-8.sequence,.for.instanc
39c0 65 20 62 79 20 73 75 62 73 74 69 74 75 74 69 6e 67 20 69 74 20 77 69 74 68 20 20 20 20 20 20 20 e.by.substituting.it.with.......
39e0 20 20 7c 0a 61 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 63 68 61 72 61 63 74 65 72 2e 20 49 66 20 ..|.a.replacement.character..If.
3a00 79 6f 75 20 73 65 65 20 61 20 73 6c 61 73 68 20 62 65 6c 6f 77 2c 20 79 6f 75 20 64 6f 20 6e 6f you.see.a.slash.below,.you.do.no
3a20 74 20 68 61 76 65 20 61 20 20 20 20 20 20 20 20 20 20 7c 0a 73 61 66 65 20 55 54 46 2d 38 20 64 t.have.a..........|.safe.UTF-8.d
3a40 65 63 6f 64 65 72 21 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ecoder!.........................
3a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3a80 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..|.............................
3aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 34 2e 31 2e 31 20 55 2b 30 30 32 46 ..................|.4.1.1.U+002F
3ae0 20 3d 20 63 30 20 61 66 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 22 c0 af 22 20 20 20 20 20 .=.c0.af.............=."..".....
3b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3b20 20 20 20 7c 0a 34 2e 31 2e 32 20 55 2b 30 30 32 46 20 3d 20 65 30 20 38 30 20 61 66 20 20 20 20 ...|.4.1.2.U+002F.=.e0.80.af....
3b40 20 20 20 20 20 20 3d 20 22 e0 80 af 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......=."..."...................
3b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 34 2e 31 2e 33 20 55 2b 30 .....................|.4.1.3.U+0
3b80 30 32 46 20 3d 20 66 30 20 38 30 20 38 30 20 61 66 20 20 20 20 20 20 20 3d 20 22 f0 80 80 af 22 02F.=.f0.80.80.af.......=."...."
3ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3bc0 20 20 20 20 20 20 20 20 7c 0a 34 2e 31 2e 34 20 55 2b 30 30 32 46 20 3d 20 66 38 20 38 30 20 38 ........|.4.1.4.U+002F.=.f8.80.8
3be0 30 20 38 30 20 61 66 20 20 20 20 3d 20 22 f8 80 80 80 af 22 20 20 20 20 20 20 20 20 20 20 20 20 0.80.af....=."....."............
3c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 34 2e ............................|.4.
3c20 31 2e 35 20 55 2b 30 30 32 46 20 3d 20 66 63 20 38 30 20 38 30 20 38 30 20 38 30 20 61 66 20 3d 1.5.U+002F.=.fc.80.80.80.80.af.=
3c40 20 22 fc 80 80 80 80 af 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."......".......................
3c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................|..............
3c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3cc0 20 7c 0a 34 2e 32 20 20 4d 61 78 69 6d 75 6d 20 6f 76 65 72 6c 6f 6e 67 20 73 65 71 75 65 6e 63 .|.4.2..Maximum.overlong.sequenc
3ce0 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 es..............................
3d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................|..............
3d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3d60 20 7c 0a 42 65 6c 6f 77 20 79 6f 75 20 73 65 65 20 74 68 65 20 68 69 67 68 65 73 74 20 55 6e 69 .|.Below.you.see.the.highest.Uni
3d80 63 6f 64 65 20 76 61 6c 75 65 20 74 68 61 74 20 69 73 20 73 74 69 6c 6c 20 72 65 73 75 6c 74 69 code.value.that.is.still.resulti
3da0 6e 67 20 69 6e 20 61 6e 20 20 20 20 20 20 20 20 20 7c 0a 6f 76 65 72 6c 6f 6e 67 20 73 65 71 75 ng.in.an.........|.overlong.sequ
3dc0 65 6e 63 65 20 69 66 20 72 65 70 72 65 73 65 6e 74 65 64 20 77 69 74 68 20 74 68 65 20 67 69 76 ence.if.represented.with.the.giv
3de0 65 6e 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 2e 20 54 68 69 73 20 20 20 20 20 20 20 20 en.number.of.bytes..This........
3e00 20 7c 0a 69 73 20 61 20 62 6f 75 6e 64 61 72 79 20 74 65 73 74 20 66 6f 72 20 73 61 66 65 20 55 .|.is.a.boundary.test.for.safe.U
3e20 54 46 2d 38 20 64 65 63 6f 64 65 72 73 2e 20 41 6c 6c 20 66 69 76 65 20 63 68 61 72 61 63 74 65 TF-8.decoders..All.five.characte
3e40 72 73 20 73 68 6f 75 6c 64 20 20 20 20 20 20 20 20 7c 0a 62 65 20 72 65 6a 65 63 74 65 64 20 6c rs.should........|.be.rejected.l
3e60 69 6b 65 20 6d 61 6c 66 6f 72 6d 65 64 20 55 54 46 2d 38 20 73 65 71 75 65 6e 63 65 73 2e 20 20 ike.malformed.UTF-8.sequences...
3e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3ea0 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .|..............................
3ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 34 2e 32 2e 31 20 20 55 2d 30 30 30 30 .................|.4.2.1..U-0000
3f00 30 30 37 46 20 3d 20 63 31 20 62 66 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 22 c1 bf 22 20 007F.=.c1.bf.............=."..".
3f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3f40 20 20 7c 0a 34 2e 32 2e 32 20 20 55 2d 30 30 30 30 30 37 46 46 20 3d 20 65 30 20 39 66 20 62 66 ..|.4.2.2..U-000007FF.=.e0.9f.bf
3f60 20 20 20 20 20 20 20 20 20 20 3d 20 22 e0 9f bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........=."..."...............
3f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 34 2e 32 2e 33 20 20 55 2d 30 ....................|.4.2.3..U-0
3fa0 30 30 30 46 46 46 46 20 3d 20 66 30 20 38 66 20 62 66 20 62 66 20 20 20 20 20 20 20 3d 20 22 f0 000FFFF.=.f0.8f.bf.bf.......=.".
3fc0 8f bf bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."............................
3fe0 20 20 20 20 20 20 20 7c 0a 34 2e 32 2e 34 20 20 55 2d 30 30 31 46 46 46 46 46 20 3d 20 66 38 20 .......|.4.2.4..U-001FFFFF.=.f8.
4000 38 37 20 62 66 20 62 66 20 62 66 20 20 20 20 3d 20 22 f8 87 bf bf bf 22 20 20 20 20 20 20 20 20 87.bf.bf.bf....=."....."........
4020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 34 2e 32 ...........................|.4.2
4040 2e 35 20 20 55 2d 30 33 46 46 46 46 46 46 20 3d 20 66 63 20 38 33 20 62 66 20 62 66 20 62 66 20 .5..U-03FFFFFF.=.fc.83.bf.bf.bf.
4060 62 66 20 3d 20 22 fc 83 bf bf bf bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bf.=."......"...................
4080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................|...............
40a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
40c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
40e0 7c 0a 34 2e 33 20 20 4f 76 65 72 6c 6f 6e 67 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f |.4.3..Overlong.representation.o
4100 66 20 74 68 65 20 4e 55 4c 20 63 68 61 72 61 63 74 65 72 20 20 20 20 20 20 20 20 20 20 20 20 20 f.the.NUL.character.............
4120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................|...............
4140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4180 7c 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 69 76 65 20 73 65 71 75 65 6e 63 65 73 20 73 |.The.following.five.sequences.s
41a0 68 6f 75 6c 64 20 61 6c 73 6f 20 62 65 20 72 65 6a 65 63 74 65 64 20 6c 69 6b 65 20 6d 61 6c 66 hould.also.be.rejected.like.malf
41c0 6f 72 6d 65 64 20 20 20 20 20 20 20 20 20 20 20 7c 0a 55 54 46 2d 38 20 73 65 71 75 65 6e 63 65 ormed...........|.UTF-8.sequence
41e0 73 20 61 6e 64 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 74 72 65 61 74 65 64 20 6c 69 6b 65 s.and.should.not.be.treated.like
4200 20 74 68 65 20 41 53 43 49 49 20 4e 55 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .the.ASCII.NUL..................
4220 7c 0a 63 68 61 72 61 63 74 65 72 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.character.....................
4240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................|...............
4280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
42a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
42c0 7c 0a 34 2e 33 2e 31 20 20 55 2b 30 30 30 30 20 3d 20 63 30 20 38 30 20 20 20 20 20 20 20 20 20 |.4.3.1..U+0000.=.c0.80.........
42e0 20 20 20 20 3d 20 22 c0 80 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....=.".."......................
4300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 34 2e 33 2e 32 20 20 55 2b 30 30 30 30 .................|.4.3.2..U+0000
4320 20 3d 20 65 30 20 38 30 20 38 30 20 20 20 20 20 20 20 20 20 20 3d 20 22 e0 80 80 22 20 20 20 20 .=.e0.80.80..........=."..."....
4340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4360 20 20 20 7c 0a 34 2e 33 2e 33 20 20 55 2b 30 30 30 30 20 3d 20 66 30 20 38 30 20 38 30 20 38 30 ...|.4.3.3..U+0000.=.f0.80.80.80
4380 20 20 20 20 20 20 20 3d 20 22 f0 80 80 80 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......=."....".................
43a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 34 2e 33 2e 34 20 20 55 ......................|.4.3.4..U
43c0 2b 30 30 30 30 20 3d 20 66 38 20 38 30 20 38 30 20 38 30 20 38 30 20 20 20 20 3d 20 22 f8 80 80 +0000.=.f8.80.80.80.80....=."...
43e0 80 80 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..".............................
4400 20 20 20 20 20 20 20 20 20 20 7c 0a 34 2e 33 2e 35 20 20 55 2b 30 30 30 30 20 3d 20 66 63 20 38 ..........|.4.3.5..U+0000.=.fc.8
4420 30 20 38 30 20 38 30 20 38 30 20 38 30 20 3d 20 22 fc 80 80 80 80 80 22 20 20 20 20 20 20 20 20 0.80.80.80.80.=."......"........
4440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ...............................|
4460 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
44a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 35 20 20 49 6c 6c 65 67 61 6c 20 63 6f 64 65 ...............|.5..Illegal.code
44c0 20 70 6f 73 69 74 69 6f 6e 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .positions......................
44e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ...............................|
4500 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 55 ...............|.The.following.U
4560 54 46 2d 38 20 73 65 71 75 65 6e 63 65 73 20 73 68 6f 75 6c 64 20 62 65 20 72 65 6a 65 63 74 65 TF-8.sequences.should.be.rejecte
4580 64 20 6c 69 6b 65 20 6d 61 6c 66 6f 72 6d 65 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c d.like.malformed...............|
45a0 0a 73 65 71 75 65 6e 63 65 73 2c 20 62 65 63 61 75 73 65 20 74 68 65 79 20 6e 65 76 65 72 20 72 .sequences,.because.they.never.r
45c0 65 70 72 65 73 65 6e 74 20 76 61 6c 69 64 20 49 53 4f 20 31 30 36 34 36 20 63 68 61 72 61 63 74 epresent.valid.ISO.10646.charact
45e0 65 72 73 20 61 6e 64 20 20 20 20 20 20 20 20 7c 0a 61 20 55 54 46 2d 38 20 64 65 63 6f 64 65 72 ers.and........|.a.UTF-8.decoder
4600 20 74 68 61 74 20 61 63 63 65 70 74 73 20 74 68 65 6d 20 6d 69 67 68 74 20 69 6e 74 72 6f 64 75 .that.accepts.them.might.introdu
4620 63 65 20 73 65 63 75 72 69 74 79 20 70 72 6f 62 6c 65 6d 73 20 20 20 20 20 20 20 20 20 20 20 7c ce.security.problems...........|
4640 0a 63 6f 6d 70 61 72 61 62 6c 65 20 74 6f 20 6f 76 65 72 6c 6f 6e 67 20 55 54 46 2d 38 20 73 65 .comparable.to.overlong.UTF-8.se
4660 71 75 65 6e 63 65 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 quences.........................
4680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............|................
46a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
46c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ...............................|
46e0 0a 35 2e 31 20 53 69 6e 67 6c 65 20 55 54 46 2d 31 36 20 73 75 72 72 6f 67 61 74 65 73 20 20 20 .5.1.Single.UTF-16.surrogates...
4700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............|................
4740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ...............................|
4780 0a 35 2e 31 2e 31 20 20 55 2b 44 38 30 30 20 3d 20 65 64 20 61 30 20 38 30 20 3d 20 22 ed a0 80 .5.1.1..U+D800.=.ed.a0.80.=."...
47a0 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "...............................
47c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 35 2e 31 2e 32 20 20 55 2b 44 42 37 46 .................|.5.1.2..U+DB7F
47e0 20 3d 20 65 64 20 61 64 20 62 66 20 3d 20 22 ed ad bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 .=.ed.ad.bf.=."...".............
4800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4820 20 20 20 7c 0a 35 2e 31 2e 33 20 20 55 2b 44 42 38 30 20 3d 20 65 64 20 61 65 20 38 30 20 3d 20 ...|.5.1.3..U+DB80.=.ed.ae.80.=.
4840 22 ed ae 80 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "..."...........................
4860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 35 2e 31 2e 34 20 20 55 2b .....................|.5.1.4..U+
4880 44 42 46 46 20 3d 20 65 64 20 61 66 20 62 66 20 3d 20 22 ed af bf 22 20 20 20 20 20 20 20 20 20 DBFF.=.ed.af.bf.=."...".........
48a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
48c0 20 20 20 20 20 20 20 7c 0a 35 2e 31 2e 35 20 20 55 2b 44 43 30 30 20 3d 20 65 64 20 62 30 20 38 .......|.5.1.5..U+DC00.=.ed.b0.8
48e0 30 20 3d 20 22 ed b0 80 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0.=."...".......................
4900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 35 2e 31 2e 36 .........................|.5.1.6
4920 20 20 55 2b 44 46 38 30 20 3d 20 65 64 20 62 65 20 38 30 20 3d 20 22 ed be 80 22 20 20 20 20 20 ..U+DF80.=.ed.be.80.=."...".....
4940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4960 20 20 20 20 20 20 20 20 20 20 20 7c 0a 35 2e 31 2e 37 20 20 55 2b 44 46 46 46 20 3d 20 65 64 20 ...........|.5.1.7..U+DFFF.=.ed.
4980 62 66 20 62 66 20 3d 20 22 ed bf bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bf.bf.=."..."...................
49a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 .............................|..
49c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
49e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4a00 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 35 2e 32 20 50 61 69 72 65 64 20 55 54 46 2d 31 36 .............|.5.2.Paired.UTF-16
4a20 20 73 75 72 72 6f 67 61 74 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .surrogates.....................
4a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 .............................|..
4a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 35 2e 32 2e 31 20 20 55 2b 44 38 30 30 20 55 2b 44 .............|.5.2.1..U+D800.U+D
4ac0 43 30 30 20 3d 20 65 64 20 61 30 20 38 30 20 65 64 20 62 30 20 38 30 20 3d 20 22 ed a0 80 ed b0 C00.=.ed.a0.80.ed.b0.80.=.".....
4ae0 80 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."..............................
4b00 20 7c 0a 35 2e 32 2e 32 20 20 55 2b 44 38 30 30 20 55 2b 44 46 46 46 20 3d 20 65 64 20 61 30 20 .|.5.2.2..U+D800.U+DFFF.=.ed.a0.
4b20 38 30 20 65 64 20 62 66 20 62 66 20 3d 20 22 ed a0 80 ed bf bf 22 20 20 20 20 20 20 20 20 20 20 80.ed.bf.bf.=."......"..........
4b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 35 2e 32 2e 33 20 20 55 2b .....................|.5.2.3..U+
4b60 44 42 37 46 20 55 2b 44 43 30 30 20 3d 20 65 64 20 61 64 20 62 66 20 65 64 20 62 30 20 38 30 20 DB7F.U+DC00.=.ed.ad.bf.ed.b0.80.
4b80 3d 20 22 ed ad bf ed b0 80 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 =."......"......................
4ba0 20 20 20 20 20 20 20 20 20 7c 0a 35 2e 32 2e 34 20 20 55 2b 44 42 37 46 20 55 2b 44 46 46 46 20 .........|.5.2.4..U+DB7F.U+DFFF.
4bc0 3d 20 65 64 20 61 64 20 62 66 20 65 64 20 62 66 20 62 66 20 3d 20 22 ed ad bf ed bf bf 22 20 20 =.ed.ad.bf.ed.bf.bf.=."......"..
4be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 35 .............................|.5
4c00 2e 32 2e 35 20 20 55 2b 44 42 38 30 20 55 2b 44 43 30 30 20 3d 20 65 64 20 61 65 20 38 30 20 65 .2.5..U+DB80.U+DC00.=.ed.ae.80.e
4c20 64 20 62 30 20 38 30 20 3d 20 22 ed ae 80 ed b0 80 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.b0.80.=."......"..............
4c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 35 2e 32 2e 36 20 20 55 2b 44 42 38 30 .................|.5.2.6..U+DB80
4c60 20 55 2b 44 46 46 46 20 3d 20 65 64 20 61 65 20 38 30 20 65 64 20 62 66 20 62 66 20 3d 20 22 ed .U+DFFF.=.ed.ae.80.ed.bf.bf.=.".
4c80 ae 80 ed bf bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."..........................
4ca0 20 20 20 20 20 7c 0a 35 2e 32 2e 37 20 20 55 2b 44 42 46 46 20 55 2b 44 43 30 30 20 3d 20 65 64 .....|.5.2.7..U+DBFF.U+DC00.=.ed
4cc0 20 61 66 20 62 66 20 65 64 20 62 30 20 38 30 20 3d 20 22 ed af bf ed b0 80 22 20 20 20 20 20 20 .af.bf.ed.b0.80.=."......"......
4ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 35 2e 32 2e 38 .........................|.5.2.8
4d00 20 20 55 2b 44 42 46 46 20 55 2b 44 46 46 46 20 3d 20 65 64 20 61 66 20 62 66 20 65 64 20 62 66 ..U+DBFF.U+DFFF.=.ed.af.bf.ed.bf
4d20 20 62 66 20 3d 20 22 ed af bf ed bf bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .bf.=."......"..................
4d40 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............|..................
4d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 35 .............................|.5
4da0 2e 33 20 4e 6f 6e 63 68 61 72 61 63 74 65 72 20 63 6f 64 65 20 70 6f 73 69 74 69 6f 6e 73 20 20 .3.Noncharacter.code.positions..
4dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4de0 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............|..................
4e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 54 .............................|.T
4e40 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 22 6e 6f 6e 63 68 61 72 61 63 74 65 72 73 22 20 61 72 65 he.following."noncharacters".are
4e60 20 22 72 65 73 65 72 76 65 64 20 66 6f 72 20 69 6e 74 65 72 6e 61 6c 20 75 73 65 22 20 62 79 20 ."reserved.for.internal.use".by.
4e80 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 61 70 70 6c 69 63 61 74 69 6f 6e 73 2c 20 61 6e 64 .............|.applications,.and
4ea0 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 6f 6c 64 65 72 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 .according.to.older.versions.of.
4ec0 74 68 65 20 55 6e 69 63 6f 64 65 20 53 74 61 6e 64 61 72 64 20 20 20 20 20 20 20 20 20 7c 0a 22 the.Unicode.Standard.........|."
4ee0 73 68 6f 75 6c 64 20 6e 65 76 65 72 20 62 65 20 69 6e 74 65 72 63 68 61 6e 67 65 64 22 2e 20 55 should.never.be.interchanged"..U
4f00 6e 69 63 6f 64 65 20 43 6f 72 72 69 67 65 6e 64 75 6d 20 23 39 20 64 72 6f 70 70 65 64 20 74 68 nicode.Corrigendum.#9.dropped.th
4f20 65 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 6c 61 74 74 65 72 20 72 65 73 74 72 69 63 74 69 6f e............|.latter.restrictio
4f40 6e 2e 20 4e 65 76 65 72 74 68 65 6c 65 73 73 2c 20 74 68 65 69 72 20 70 72 65 73 65 6e 63 65 20 n..Nevertheless,.their.presence.
4f60 69 6e 20 69 6e 63 6f 6d 69 6e 67 20 55 54 46 2d 38 20 64 61 74 61 20 20 20 20 20 20 20 7c 0a 63 in.incoming.UTF-8.data.......|.c
4f80 61 6e 20 72 65 6d 61 69 6e 20 61 20 70 6f 74 65 6e 74 69 61 6c 20 73 65 63 75 72 69 74 79 20 72 an.remain.a.potential.security.r
4fa0 69 73 6b 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 68 61 74 20 75 73 65 20 69 73 20 6d 61 isk,.depending.on.what.use.is.ma
4fc0 64 65 20 6f 66 20 20 20 20 20 20 20 20 7c 0a 74 68 65 73 65 20 63 6f 64 65 73 20 73 75 62 73 65 de.of........|.these.codes.subse
4fe0 71 75 65 6e 74 6c 79 2e 20 45 78 61 6d 70 6c 65 73 20 6f 66 20 73 75 63 68 20 69 6e 74 65 72 6e quently..Examples.of.such.intern
5000 61 6c 20 75 73 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 al.use:......................|..
5020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5060 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 2d 20 53 6f 6d 65 20 66 69 6c 65 20 41 50 49 73 .............|..-.Some.file.APIs
5080 20 77 69 74 68 20 31 36 2d 62 69 74 20 63 68 61 72 61 63 74 65 72 73 20 6d 61 79 20 75 73 65 20 .with.16-bit.characters.may.use.
50a0 74 68 65 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 2d 31 20 20 20 20 20 20 20 20 20 7c 0a 20 the.integer.value.-1.........|..
50c0 20 20 3d 20 55 2b 46 46 46 46 20 74 6f 20 73 69 67 6e 61 6c 20 61 6e 20 65 6e 64 2d 6f 66 2d 66 ..=.U+FFFF.to.signal.an.end-of-f
50e0 69 6c 65 20 28 45 4f 46 29 20 6f 72 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 2e 20 20 20 ile.(EOF).or.error.condition....
5100 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............|..................
5120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 .............................|..
5160 2d 20 49 6e 20 73 6f 6d 65 20 55 54 46 2d 31 36 20 72 65 63 65 69 76 65 72 73 2c 20 63 6f 64 65 -.In.some.UTF-16.receivers,.code
5180 20 70 6f 69 6e 74 20 55 2b 46 46 46 45 20 6d 69 67 68 74 20 74 72 69 67 67 65 72 20 61 20 20 20 .point.U+FFFE.might.trigger.a...
51a0 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 62 79 74 65 2d 73 77 61 70 20 6f 70 65 72 .............|....byte-swap.oper
51c0 61 74 69 6f 6e 20 28 74 6f 20 63 6f 6e 76 65 72 74 20 62 65 74 77 65 65 6e 20 55 54 46 2d 31 36 ation.(to.convert.between.UTF-16
51e0 4c 45 20 61 6e 64 20 55 54 46 2d 31 36 42 45 29 2e 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 LE.and.UTF-16BE).............|..
5200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5240 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 57 69 74 68 20 73 75 63 68 20 69 6e 74 65 72 6e 61 .............|.With.such.interna
5260 6c 20 75 73 65 20 6f 66 20 6e 6f 6e 63 68 61 72 61 63 74 65 72 73 2c 20 69 74 20 6d 61 79 20 62 l.use.of.noncharacters,.it.may.b
5280 65 20 64 65 73 69 72 61 62 6c 65 20 61 6e 64 20 73 61 66 65 72 20 20 20 20 20 20 20 20 7c 0a 74 e.desirable.and.safer........|.t
52a0 6f 20 62 6c 6f 63 6b 20 74 68 6f 73 65 20 63 6f 64 65 20 70 6f 69 6e 74 73 20 69 6e 20 55 54 46 o.block.those.code.points.in.UTF
52c0 2d 38 20 64 65 63 6f 64 65 72 73 2c 20 61 73 20 74 68 65 79 20 73 68 6f 75 6c 64 20 6e 65 76 65 -8.decoders,.as.they.should.neve
52e0 72 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 6f 63 63 75 72 20 6c 65 67 69 74 69 6d 61 74 65 6c r............|.occur.legitimatel
5300 79 20 69 6e 20 69 6e 63 6f 6d 69 6e 67 20 55 54 46 2d 38 20 64 61 74 61 2c 20 61 6e 64 20 63 6f y.in.incoming.UTF-8.data,.and.co
5320 75 6c 64 20 74 72 69 67 67 65 72 20 75 6e 73 61 66 65 20 20 20 20 20 20 20 20 20 20 20 7c 0a 62 uld.trigger.unsafe...........|.b
5340 65 68 61 76 69 6f 75 72 20 69 6e 20 73 75 62 73 65 71 75 65 6e 74 20 70 72 6f 63 65 73 73 69 6e ehaviour.in.subsequent.processin
5360 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g...............................
5380 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............|..................
53a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
53c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 50 .............................|.P
53e0 61 72 74 69 63 75 6c 61 72 6c 79 20 70 72 6f 62 6c 65 6d 61 74 69 63 20 6e 6f 6e 63 68 61 72 61 articularly.problematic.nonchara
5400 63 74 65 72 73 20 69 6e 20 31 36 2d 62 69 74 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 3a 20 20 20 cters.in.16-bit.applications:...
5420 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............|..................
5440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 35 .............................|.5
5480 2e 33 2e 31 20 20 55 2b 46 46 46 45 20 3d 20 65 66 20 62 66 20 62 65 20 3d 20 22 ef bf be 22 20 .3.1..U+FFFE.=.ef.bf.be.=."...".
54a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
54c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 35 2e 33 2e 32 20 20 55 2b 46 46 46 46 20 3d ...............|.5.3.2..U+FFFF.=
54e0 20 65 66 20 62 66 20 62 66 20 3d 20 22 ef bf bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .ef.bf.bf.=."..."...............
5500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5520 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .|..............................
5540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 4f 74 68 65 72 20 6e 6f 6e 63 68 61 72 .................|.Other.nonchar
5580 61 63 74 65 72 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 acters:.........................
55a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
55c0 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .|..............................
55e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 35 2e 33 2e 33 20 20 55 2b 46 44 44 30 .................|.5.3.3..U+FDD0
5620 20 2e 2e 20 55 2b 46 44 45 46 20 3d 20 22 ef b7 90 ef b7 91 ef b7 92 ef b7 93 ef b7 94 ef b7 95 ....U+FDEF.=."..................
5640 ef b7 96 ef b7 97 ef b7 98 ef b7 99 ef b7 9a ef b7 9b ef b7 9c ef b7 9d ef b7 9e ef b7 9f ef b7 ................................
5660 a0 ef b7 a1 ef b7 a2 ef b7 a3 ef b7 a4 ef b7 a5 ef b7 a6 ef b7 a7 ef b7 a8 ef b7 a9 ef b7 aa ef ................................
5680 b7 ab ef b7 ac ef b7 ad ef b7 ae ef b7 af 22 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............."|................
56a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
56c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ...............................|
56e0 0a 35 2e 33 2e 34 20 20 55 2b 6e 46 46 46 45 20 55 2b 6e 46 46 46 46 20 28 66 6f 72 20 6e 20 3d .5.3.4..U+nFFFE.U+nFFFF.(for.n.=
5700 20 31 2e 2e 31 30 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .1..10).........................
5720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............|................
5740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ...............................|
5780 0a 20 20 20 20 20 20 20 22 f0 9f bf be f0 9f bf bf f0 af bf be f0 af bf bf f0 bf bf be f0 bf bf ........".......................
57a0 bf f1 8f bf be f1 8f bf bf f1 9f bf be f1 9f bf bf f1 af bf be f1 af bf bf f1 bf bf be f1 bf bf ................................
57c0 bf f2 8f bf be f2 8f bf bf 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
57e0 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 f2 9f bf be f2 9f bf bf f2 .............|..................
5800 af bf be f2 af bf bf f2 bf bf be f2 bf bf bf f3 8f bf be f3 8f bf bf f3 9f bf be f3 9f bf bf f3 ................................
5820 af bf be f3 af bf bf f3 bf bf be f3 bf bf bf f4 8f bf be f4 8f bf bf 22 20 20 20 20 20 20 20 20 ......................."........
5840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 ...........................|....
5860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
58a0 20 20 20 20 20 20 20 20 20 20 20 7c 0a 54 48 45 20 45 4e 44 20 20 20 20 20 20 20 20 20 20 20 20 ...........|.THE.END............
58c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
58e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a ...........................|.