summaryrefslogtreecommitdiff
path: root/perf/UTF-8-test.txt
blob: fa1c506dfee6a22b220129a918aa9d0ec438e6a3 (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 5b 4e 6f 74 65 .-.2015-08-28.-.CC.BY.4.0..[Note
00a0 3a 20 54 68 69 73 20 66 69 6c 65 20 68 61 73 20 62 65 65 6e 20 73 6c 69 67 68 74 6c 79 20 6d 6f :.This.file.has.been.slightly.mo
00c0 64 69 66 69 65 64 20 66 72 6f 6d 20 69 74 73 20 75 70 73 74 72 65 61 6d 20 6f 72 69 67 69 6e 61 dified.from.its.upstream.origina
00e0 6c 2c 0a 62 79 20 63 68 61 6e 67 69 6e 67 20 74 68 65 20 72 69 67 68 74 20 6d 61 72 67 69 6e 20 l,.by.changing.the.right.margin.
0100 73 6f 20 74 68 61 74 20 77 68 65 6e 20 69 74 20 69 73 20 63 61 74 28 31 29 65 64 20 69 6e 20 61 so.that.when.it.is.cat(1)ed.in.a
0120 20 74 65 72 6d 69 6e 61 6c 0a 65 6d 75 6c 61 74 6f 72 20 77 68 6f 73 65 20 55 54 46 2d 38 20 64 .terminal.emulator.whose.UTF-8.d
0140 65 63 6f 64 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 74 68 65 20 77 68 61 74 77 67 20 45 6e 63 ecoder.implements.the.whatwg.Enc
0160 6f 64 69 6e 67 20 53 70 65 63 0a 5b 68 74 74 70 73 3a 2f 2f 65 6e 63 6f 64 69 6e 67 2e 73 70 65 oding.Spec.[https://encoding.spe
0180 63 2e 77 68 61 74 77 67 2e 6f 72 67 2f 5d 2c 20 74 68 65 20 72 69 67 68 74 20 6d 61 72 67 69 6e c.whatwg.org/],.the.right.margin
01a0 20 69 73 20 63 6f 72 72 65 63 74 6c 79 0a 61 6c 69 67 6e 65 64 2e 20 20 4e 6f 20 6f 74 68 65 72 .is.correctly.aligned...No.other
01c0 20 63 68 61 6e 67 65 73 20 77 65 72 65 20 6d 61 64 65 2c 20 6e 6f 74 20 65 76 65 6e 20 74 6f 20 .changes.were.made,.not.even.to.
01e0 63 6f 72 72 65 63 74 20 74 68 65 20 74 65 78 74 0a 65 78 70 6c 61 69 6e 69 6e 67 20 77 68 61 74 correct.the.text.explaining.what
0200 20 79 6f 75 20 73 68 6f 75 6c 64 20 73 65 65 3b 20 73 6f 20 69 6e 20 73 6f 6d 65 20 69 6e 73 74 .you.should.see;.so.in.some.inst
0220 61 6e 63 65 20 74 68 61 74 20 74 65 78 74 20 69 73 20 6e 6f 77 0a 69 6e 63 6f 72 72 65 63 74 2e ance.that.text.is.now.incorrect.
0240 20 20 2d 2d 20 40 63 68 70 65 5d 0a 0a 54 68 69 73 20 74 65 73 74 20 66 69 6c 65 20 63 61 6e 20 ..--.@chpe]..This.test.file.can.
0260 68 65 6c 70 20 79 6f 75 20 65 78 61 6d 69 6e 65 2c 20 68 6f 77 20 79 6f 75 72 20 55 54 46 2d 38 help.you.examine,.how.your.UTF-8
0280 20 64 65 63 6f 64 65 72 20 68 61 6e 64 6c 65 73 0a 76 61 72 69 6f 75 73 20 74 79 70 65 73 20 6f .decoder.handles.various.types.o
02a0 66 20 63 6f 72 72 65 63 74 2c 20 6d 61 6c 66 6f 72 6d 65 64 2c 20 6f 72 20 6f 74 68 65 72 77 69 f.correct,.malformed,.or.otherwi
02c0 73 65 20 69 6e 74 65 72 65 73 74 69 6e 67 20 55 54 46 2d 38 0a 73 65 71 75 65 6e 63 65 73 2e 20 se.interesting.UTF-8.sequences..
02e0 54 68 69 73 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 6d 65 61 6e 74 20 74 6f 20 62 65 20 61 20 63 This.file.is.not.meant.to.be.a.c
0300 6f 6e 66 6f 72 6d 61 6e 63 65 20 74 65 73 74 2e 20 49 74 20 64 6f 65 73 0a 6e 6f 74 20 70 72 65 onformance.test..It.does.not.pre
0320 73 63 72 69 62 65 20 61 6e 79 20 70 61 72 74 69 63 75 6c 61 72 20 6f 75 74 63 6f 6d 65 2e 20 54 scribe.any.particular.outcome..T
0340 68 65 72 65 66 6f 72 65 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 79 20 74 6f 0a 22 70 61 herefore,.there.is.no.way.to."pa
0360 73 73 22 20 6f 72 20 22 66 61 69 6c 22 20 74 68 69 73 20 74 65 73 74 20 66 69 6c 65 2c 20 65 76 ss".or."fail".this.test.file,.ev
0380 65 6e 20 74 68 6f 75 67 68 20 74 68 65 20 74 65 78 74 20 64 6f 65 73 20 73 75 67 67 65 73 74 20 en.though.the.text.does.suggest.
03a0 61 0a 70 72 65 66 65 72 61 62 6c 65 20 64 65 63 6f 64 65 72 20 62 65 68 61 76 69 6f 75 72 20 61 a.preferable.decoder.behaviour.a
03c0 74 20 73 6f 6d 65 20 70 6c 61 63 65 73 2e 20 49 74 73 20 61 69 6d 20 69 73 2c 20 69 6e 73 74 65 t.some.places..Its.aim.is,.inste
03e0 61 64 2c 20 74 6f 0a 68 65 6c 70 20 79 6f 75 20 74 68 69 6e 6b 20 61 62 6f 75 74 2c 20 61 6e 64 ad,.to.help.you.think.about,.and
0400 20 74 65 73 74 2c 20 74 68 65 20 62 65 68 61 76 69 6f 75 72 20 6f 66 20 79 6f 75 72 20 55 54 46 .test,.the.behaviour.of.your.UTF
0420 2d 38 20 64 65 63 6f 64 65 72 20 6f 6e 20 61 0a 73 79 73 74 65 6d 61 74 69 63 20 63 6f 6c 6c 65 -8.decoder.on.a.systematic.colle
0440 63 74 69 6f 6e 20 6f 66 20 75 6e 75 73 75 61 6c 20 69 6e 70 75 74 73 2e 20 45 78 70 65 72 69 65 ction.of.unusual.inputs..Experie
0460 6e 63 65 20 73 6f 20 66 61 72 20 73 75 67 67 65 73 74 73 0a 74 68 61 74 20 6d 6f 73 74 20 66 69 nce.so.far.suggests.that.most.fi
0480 72 73 74 2d 74 69 6d 65 20 61 75 74 68 6f 72 73 20 6f 66 20 55 54 46 2d 38 20 64 65 63 6f 64 65 rst-time.authors.of.UTF-8.decode
04a0 72 73 20 66 69 6e 64 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 0a 73 65 72 69 6f 75 73 20 70 72 6f rs.find.at.least.one.serious.pro
04c0 62 6c 65 6d 20 69 6e 20 74 68 65 69 72 20 64 65 63 6f 64 65 72 20 75 73 69 6e 67 20 74 68 69 73 blem.in.their.decoder.using.this
04e0 20 66 69 6c 65 2e 0a 0a 54 68 65 20 74 65 73 74 20 6c 69 6e 65 73 20 62 65 6c 6f 77 20 63 6f 76 .file...The.test.lines.below.cov
0500 65 72 20 62 6f 75 6e 64 61 72 79 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 6d 61 6c 66 6f 72 6d 65 er.boundary.conditions,.malforme
0520 64 20 55 54 46 2d 38 0a 73 65 71 75 65 6e 63 65 73 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 63 6f d.UTF-8.sequences,.as.well.as.co
0540 72 72 65 63 74 6c 79 20 65 6e 63 6f 64 65 64 20 55 54 46 2d 38 20 73 65 71 75 65 6e 63 65 73 20 rrectly.encoded.UTF-8.sequences.
0560 6f 66 20 55 6e 69 63 6f 64 65 20 63 6f 64 65 0a 70 6f 69 6e 74 73 20 74 68 61 74 20 73 68 6f 75 of.Unicode.code.points.that.shou
0580 6c 64 20 6e 65 76 65 72 20 6f 63 63 75 72 20 69 6e 20 61 20 63 6f 72 72 65 63 74 20 55 54 46 2d ld.never.occur.in.a.correct.UTF-
05a0 38 20 66 69 6c 65 2e 0a 0a 41 63 63 6f 72 64 69 6e 67 20 74 6f 20 49 53 4f 20 31 30 36 34 36 2d 8.file...According.to.ISO.10646-
05c0 31 3a 32 30 30 30 2c 20 73 65 63 74 69 6f 6e 73 20 44 2e 37 20 61 6e 64 20 32 2e 33 63 2c 20 61 1:2000,.sections.D.7.and.2.3c,.a
05e0 20 64 65 76 69 63 65 0a 72 65 63 65 69 76 69 6e 67 20 55 54 46 2d 38 20 73 68 61 6c 6c 20 69 6e .device.receiving.UTF-8.shall.in
0600 74 65 72 70 72 65 74 20 61 20 22 6d 61 6c 66 6f 72 6d 65 64 20 73 65 71 75 65 6e 63 65 20 69 6e terpret.a."malformed.sequence.in
0620 20 74 68 65 20 73 61 6d 65 20 77 61 79 0a 74 68 61 74 20 69 74 20 69 6e 74 65 72 70 72 65 74 73 .the.same.way.that.it.interprets
0640 20 61 20 63 68 61 72 61 63 74 65 72 20 74 68 61 74 20 69 73 20 6f 75 74 73 69 64 65 20 74 68 65 .a.character.that.is.outside.the
0660 20 61 64 6f 70 74 65 64 20 73 75 62 73 65 74 22 20 61 6e 64 0a 22 63 68 61 72 61 63 74 65 72 73 .adopted.subset".and."characters
0680 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 77 69 74 68 69 6e 20 74 68 65 20 61 64 6f 70 74 65 64 .that.are.not.within.the.adopted
06a0 20 73 75 62 73 65 74 20 73 68 61 6c 6c 20 62 65 20 69 6e 64 69 63 61 74 65 64 0a 74 6f 20 74 68 .subset.shall.be.indicated.to.th
06c0 65 20 75 73 65 72 22 20 62 79 20 61 20 72 65 63 65 69 76 69 6e 67 20 64 65 76 69 63 65 2e 20 4f e.user".by.a.receiving.device..O
06e0 6e 65 20 63 6f 6d 6d 6f 6e 6c 79 20 75 73 65 64 20 61 70 70 72 6f 61 63 68 20 69 6e 0a 55 54 46 ne.commonly.used.approach.in.UTF
0700 2d 38 20 64 65 63 6f 64 65 72 73 20 69 73 20 74 6f 20 72 65 70 6c 61 63 65 20 61 6e 79 20 6d 61 -8.decoders.is.to.replace.any.ma
0720 6c 66 6f 72 6d 65 64 20 55 54 46 2d 38 20 73 65 71 75 65 6e 63 65 20 62 79 20 61 0a 72 65 70 6c lformed.UTF-8.sequence.by.a.repl
0740 61 63 65 6d 65 6e 74 20 63 68 61 72 61 63 74 65 72 20 28 55 2b 46 46 46 44 29 2c 20 77 68 69 63 acement.character.(U+FFFD),.whic
0760 68 20 6c 6f 6f 6b 73 20 61 20 62 69 74 20 6c 69 6b 65 20 61 6e 20 69 6e 76 65 72 74 65 64 0a 71 h.looks.a.bit.like.an.inverted.q
0780 75 65 73 74 69 6f 6e 20 6d 61 72 6b 2c 20 6f 72 20 61 20 73 69 6d 69 6c 61 72 20 73 79 6d 62 6f uestion.mark,.or.a.similar.symbo
07a0 6c 2e 20 49 74 20 6d 69 67 68 74 20 62 65 20 61 20 67 6f 6f 64 20 69 64 65 61 20 74 6f 0a 76 69 l..It.might.be.a.good.idea.to.vi
07c0 73 75 61 6c 6c 79 20 64 69 73 74 69 6e 67 75 69 73 68 20 61 20 6d 61 6c 66 6f 72 6d 65 64 20 55 sually.distinguish.a.malformed.U
07e0 54 46 2d 38 20 73 65 71 75 65 6e 63 65 20 66 72 6f 6d 20 61 20 63 6f 72 72 65 63 74 6c 79 0a 65 TF-8.sequence.from.a.correctly.e
0800 6e 63 6f 64 65 64 20 55 6e 69 63 6f 64 65 20 63 68 61 72 61 63 74 65 72 20 74 68 61 74 20 69 73 ncoded.Unicode.character.that.is
0820 20 6a 75 73 74 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 63 75 72 72 65 .just.not.available.in.the.curre
0840 6e 74 0a 66 6f 6e 74 20 62 75 74 20 6f 74 68 65 72 77 69 73 65 20 66 75 6c 6c 79 20 6c 65 67 61 nt.font.but.otherwise.fully.lega
0860 6c 2c 20 65 76 65 6e 20 74 68 6f 75 67 68 20 49 53 4f 20 31 30 36 34 36 2d 31 20 64 6f 65 73 6e l,.even.though.ISO.10646-1.doesn
0880 27 74 0a 6d 61 6e 64 61 74 65 20 74 68 69 73 2e 20 49 6e 20 61 6e 79 20 63 61 73 65 2c 20 6a 75 't.mandate.this..In.any.case,.ju
08a0 73 74 20 69 67 6e 6f 72 69 6e 67 20 6d 61 6c 66 6f 72 6d 65 64 20 73 65 71 75 65 6e 63 65 73 20 st.ignoring.malformed.sequences.
08c0 6f 72 0a 75 6e 61 76 61 69 6c 61 62 6c 65 20 63 68 61 72 61 63 74 65 72 73 20 64 6f 65 73 20 6e or.unavailable.characters.does.n
08e0 6f 74 20 63 6f 6e 66 6f 72 6d 20 74 6f 20 49 53 4f 20 31 30 36 34 36 2c 20 77 69 6c 6c 20 6d 61 ot.conform.to.ISO.10646,.will.ma
0900 6b 65 0a 64 65 62 75 67 67 69 6e 67 20 6d 6f 72 65 20 64 69 66 66 69 63 75 6c 74 2c 20 61 6e 64 ke.debugging.more.difficult,.and
0920 20 63 61 6e 20 6c 65 61 64 20 74 6f 20 75 73 65 72 20 63 6f 6e 66 75 73 69 6f 6e 2e 0a 0a 50 6c .can.lead.to.user.confusion...Pl
0940 65 61 73 65 20 63 68 65 63 6b 2c 20 77 68 65 74 68 65 72 20 61 20 6d 61 6c 66 6f 72 6d 65 64 20 ease.check,.whether.a.malformed.
0960 55 54 46 2d 38 20 73 65 71 75 65 6e 63 65 20 69 73 20 28 31 29 20 72 65 70 72 65 73 65 6e 74 65 UTF-8.sequence.is.(1).represente
0980 64 20 61 74 0a 61 6c 6c 2c 20 28 32 29 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20 65 78 61 d.at.all,.(2).represented.by.exa
09a0 63 74 6c 79 20 6f 6e 65 20 73 69 6e 67 6c 65 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 63 68 61 72 ctly.one.single.replacement.char
09c0 61 63 74 65 72 20 28 6f 72 0a 65 71 75 69 76 61 6c 65 6e 74 20 73 69 67 6e 61 6c 29 2c 20 61 6e acter.(or.equivalent.signal),.an
09e0 64 20 28 33 29 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 71 75 6f 74 61 74 69 6f 6e 20 6d 61 d.(3).the.following.quotation.ma
0a00 72 6b 20 61 66 74 65 72 20 61 6e 0a 69 6c 6c 65 67 61 6c 20 55 54 46 2d 38 20 73 65 71 75 65 6e rk.after.an.illegal.UTF-8.sequen
0a20 63 65 20 69 73 20 63 6f 72 72 65 63 74 6c 79 20 64 69 73 70 6c 61 79 65 64 2c 20 69 2e 65 2e 20 ce.is.correctly.displayed,.i.e..
0a40 70 72 6f 70 65 72 0a 72 65 73 79 6e 63 68 72 6f 6e 69 7a 61 74 69 6f 6e 20 74 61 6b 65 73 20 70 proper.resynchronization.takes.p
0a60 6c 61 63 65 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 66 74 65 72 20 61 6e 79 20 6d 61 6c 66 6f lace.immediately.after.any.malfo
0a80 72 6d 65 64 0a 73 65 71 75 65 6e 63 65 2e 20 54 68 69 73 20 66 69 6c 65 20 73 61 79 73 20 22 54 rmed.sequence..This.file.says."T
0aa0 48 45 20 45 4e 44 22 20 69 6e 20 74 68 65 20 6c 61 73 74 20 6c 69 6e 65 2c 20 73 6f 20 69 66 20 HE.END".in.the.last.line,.so.if.
0ac0 79 6f 75 20 64 6f 6e 27 74 0a 73 65 65 20 74 68 61 74 2c 20 79 6f 75 72 20 64 65 63 6f 64 65 72 you.don't.see.that,.your.decoder
0ae0 20 63 72 61 73 68 65 64 20 73 6f 6d 65 68 6f 77 20 62 65 66 6f 72 65 2c 20 77 68 69 63 68 20 73 .crashed.somehow.before,.which.s
0b00 68 6f 75 6c 64 20 61 6c 77 61 79 73 20 62 65 0a 63 61 75 73 65 20 66 6f 72 20 63 6f 6e 63 65 72 hould.always.be.cause.for.concer
0b20 6e 2e 0a 0a 41 6c 6c 20 6c 69 6e 65 73 20 69 6e 20 74 68 69 73 20 66 69 6c 65 20 61 72 65 20 65 n...All.lines.in.this.file.are.e
0b40 78 61 63 74 6c 79 20 37 39 20 63 68 61 72 61 63 74 65 72 73 20 6c 6f 6e 67 20 28 70 6c 75 73 20 xactly.79.characters.long.(plus.
0b60 74 68 65 20 6c 69 6e 65 0a 66 65 65 64 29 2e 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 61 6c 6c the.line.feed)..In.addition,.all
0b80 20 6c 69 6e 65 73 20 65 6e 64 20 77 69 74 68 20 22 7c 22 2c 20 65 78 63 65 70 74 20 66 6f 72 20 .lines.end.with."|",.except.for.
0ba0 74 68 65 20 74 77 6f 20 74 65 73 74 0a 6c 69 6e 65 73 20 32 2e 31 2e 31 20 61 6e 64 20 32 2e 32 the.two.test.lines.2.1.1.and.2.2
0bc0 2e 31 2c 20 77 68 69 63 68 20 63 6f 6e 74 61 69 6e 20 6e 6f 6e 2d 70 72 69 6e 74 61 62 6c 65 20 .1,.which.contain.non-printable.
0be0 41 53 43 49 49 20 63 6f 6e 74 72 6f 6c 73 0a 55 2b 30 30 30 30 20 61 6e 64 20 55 2b 30 30 37 46 ASCII.controls.U+0000.and.U+007F
0c00 2e 20 49 66 20 79 6f 75 20 64 69 73 70 6c 61 79 20 74 68 69 73 20 66 69 6c 65 20 77 69 74 68 20 ..If.you.display.this.file.with.
0c20 61 20 66 69 78 65 64 2d 77 69 64 74 68 20 66 6f 6e 74 2c 0a 74 68 65 73 65 20 22 7c 22 20 63 68 a.fixed-width.font,.these."|".ch
0c40 61 72 61 63 74 65 72 73 20 73 68 6f 75 6c 64 20 61 6c 6c 20 6c 69 6e 65 20 75 70 20 69 6e 20 63 aracters.should.all.line.up.in.c
0c60 6f 6c 75 6d 6e 20 37 39 20 28 72 69 67 68 74 20 6d 61 72 67 69 6e 29 2e 0a 54 68 69 73 20 61 6c olumn.79.(right.margin)..This.al
0c80 6c 6f 77 73 20 79 6f 75 20 74 6f 20 74 65 73 74 20 71 75 69 63 6b 6c 79 2c 20 77 68 65 74 68 65 lows.you.to.test.quickly,.whethe
0ca0 72 20 79 6f 75 72 20 55 54 46 2d 38 20 64 65 63 6f 64 65 72 20 66 69 6e 64 73 20 74 68 65 0a 63 r.your.UTF-8.decoder.finds.the.c
0cc0 6f 72 72 65 63 74 20 6e 75 6d 62 65 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 65 orrect.number.of.characters.in.e
0ce0 76 65 72 79 20 6c 69 6e 65 2c 20 74 68 61 74 20 69 73 20 77 68 65 74 68 65 72 20 65 61 63 68 0a very.line,.that.is.whether.each.
0d00 6d 61 6c 66 6f 72 6d 65 64 20 73 65 71 75 65 6e 63 65 73 20 69 73 20 72 65 70 6c 61 63 65 64 20 malformed.sequences.is.replaced.
0d20 62 79 20 61 20 73 69 6e 67 6c 65 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 63 68 61 72 61 63 74 65 by.a.single.replacement.characte
0d40 72 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 2c 20 61 73 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 r...Note.that,.as.an.alternative
0d60 20 74 6f 20 74 68 65 20 6e 6f 74 69 6f 6e 20 6f 66 20 6d 61 6c 66 6f 72 6d 65 64 20 73 65 71 75 .to.the.notion.of.malformed.sequ
0d80 65 6e 63 65 20 75 73 65 64 0a 68 65 72 65 2c 20 69 74 20 69 73 20 61 6c 73 6f 20 61 20 70 65 72 ence.used.here,.it.is.also.a.per
0da0 66 65 63 74 6c 79 20 61 63 63 65 70 74 61 62 6c 65 20 28 61 6e 64 20 69 6e 20 73 6f 6d 65 20 73 fectly.acceptable.(and.in.some.s
0dc0 69 74 75 61 74 69 6f 6e 73 20 65 76 65 6e 0a 70 72 65 66 65 72 61 62 6c 65 29 20 73 6f 6c 75 74 ituations.even.preferable).solut
0de0 69 6f 6e 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20 65 61 63 68 20 69 6e 64 69 76 69 64 75 61 6c ion.to.represent.each.individual
0e00 20 62 79 74 65 20 6f 66 20 61 20 6d 61 6c 66 6f 72 6d 65 64 0a 73 65 71 75 65 6e 63 65 20 77 69 .byte.of.a.malformed.sequence.wi
0e20 74 68 20 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 79 th.a.replacement.character..If.y
0e40 6f 75 20 66 6f 6c 6c 6f 77 20 74 68 69 73 20 73 74 72 61 74 65 67 79 20 69 6e 0a 79 6f 75 72 20 ou.follow.this.strategy.in.your.
0e60 64 65 63 6f 64 65 72 2c 20 74 68 65 6e 20 70 6c 65 61 73 65 20 69 67 6e 6f 72 65 20 74 68 65 20 decoder,.then.please.ignore.the.
0e80 22 7c 22 20 63 6f 6c 75 6d 6e 2e 0a 0a 0a 48 65 72 65 20 63 6f 6d 65 20 74 68 65 20 74 65 73 74 "|".column....Here.come.the.test
0ea0 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 20 20 20 20 20 s:..............................
0ec0 20 20 20 20 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 ............................|...
0ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
0f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 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 7c 0a 31 20 20 53 6f 6d 65 20 63 6f 72 72 65 63 74 20 55 54 ............|.1..Some.correct.UT
0f40 46 2d 38 20 74 65 78 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 F-8.text........................
0f60 20 20 20 20 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 ............................|...
0f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
0fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 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 7c 0a 59 6f 75 20 73 68 6f 75 6c 64 20 73 65 65 20 74 68 65 ............|.You.should.see.the
0fe0 20 47 72 65 65 6b 20 77 6f 72 64 20 27 6b 6f 73 6d 65 27 3a 20 20 20 20 20 20 20 22 ce ba e1 bd .Greek.word.'kosme':......."....
1000 b9 cf 83 ce bc ce b5 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 ......."........................
1020 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 ..|.............................
1040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 32 20 20 42 6f 75 6e 64 61 72 79 20 ..................|.2..Boundary.
1080 63 6f 6e 64 69 74 69 6f 6e 20 74 65 73 74 20 63 61 73 65 73 20 20 20 20 20 20 20 20 20 20 20 20 condition.test.cases............
10a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
10c0 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 ..|.............................
10e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 32 2e 31 20 20 46 69 72 73 74 20 70 ..................|.2.1..First.p
1120 6f 73 73 69 62 6c 65 20 73 65 71 75 65 6e 63 65 20 6f 66 20 61 20 63 65 72 74 61 69 6e 20 6c 65 ossible.sequence.of.a.certain.le
1140 6e 67 74 68 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ngth............................
1160 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 ..|.............................
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 20 20 20 20 20 20 ................................
11a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 32 2e 31 2e 31 20 20 31 20 62 79 74 ..................|.2.1.1..1.byt
11c0 65 20 20 28 55 2d 30 30 30 30 30 30 30 30 29 3a 20 20 20 20 20 20 20 20 22 00 22 20 20 20 20 20 e..(U-00000000):........".".....
11e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1200 20 20 20 7c 20 0a 32 2e 31 2e 32 20 20 32 20 62 79 74 65 73 20 28 55 2d 30 30 30 30 30 30 38 30 ...|..2.1.2..2.bytes.(U-00000080
1220 29 3a 20 20 20 20 20 20 20 20 22 c2 80 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ):........".."..................
1240 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 33 20 20 33 ......................|.2.1.3..3
1260 20 62 79 74 65 73 20 28 55 2d 30 30 30 30 30 38 30 30 29 3a 20 20 20 20 20 20 20 20 22 e0 a0 80 .bytes.(U-00000800):........"...
1280 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 "...............................
12a0 20 20 20 20 20 20 20 20 7c 0a 32 2e 31 2e 34 20 20 34 20 62 79 74 65 73 20 28 55 2d 30 30 30 31 ........|.2.1.4..4.bytes.(U-0001
12c0 30 30 30 30 29 3a 20 20 20 20 20 20 20 20 22 f0 90 80 80 22 20 20 20 20 20 20 20 20 20 20 20 20 0000):........"...."............
12e0 20 20 20 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 ...........................|.2.1
1300 2e 35 20 20 35 20 62 79 74 65 73 20 28 55 2d 30 30 32 30 30 30 30 30 29 3a 20 20 20 20 20 20 20 .5..5.bytes.(U-00200000):.......
1320 20 22 f8 88 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 ."....."........................
1340 20 20 20 20 20 20 20 20 20 20 20 7c 0a 32 2e 31 2e 36 20 20 36 20 62 79 74 65 73 20 28 55 2d 30 ...........|.2.1.6..6.bytes.(U-0
1360 34 30 30 30 30 30 30 29 3a 20 20 20 20 20 20 20 20 22 fc 84 80 80 80 80 22 20 20 20 20 20 20 20 4000000):........"......".......
1380 20 20 20 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 ...........................|....
13a0 20 20 20 20 20 20 20 20 20 20 20 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 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
13e0 20 20 20 20 20 20 20 20 20 20 20 7c 0a 32 2e 32 20 20 4c 61 73 74 20 70 6f 73 73 69 62 6c 65 20 ...........|.2.2..Last.possible.
1400 73 65 71 75 65 6e 63 65 20 6f 66 20 61 20 63 65 72 74 61 69 6e 20 6c 65 6e 67 74 68 20 20 20 20 sequence.of.a.certain.length....
1420 20 20 20 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 ...........................|....
1440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
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 20 20 20 20 20 20 20 ................................
1480 20 20 20 20 20 20 20 20 20 20 20 7c 0a 32 2e 32 2e 31 20 20 31 20 62 79 74 65 20 20 28 55 2d 30 ...........|.2.2.1..1.byte..(U-0
14a0 30 30 30 30 30 37 46 29 3a 20 20 20 20 20 20 20 20 22 7f 22 20 20 20 20 20 20 20 20 20 20 20 20 000007F):........"."............
14c0 20 20 20 20 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 20 0a 32 ............................|..2
14e0 2e 32 2e 32 20 20 32 20 62 79 74 65 73 20 28 55 2d 30 30 30 30 30 37 46 46 29 3a 20 20 20 20 20 .2.2..2.bytes.(U-000007FF):.....
1500 20 20 20 22 df 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 ..."..".........................
1520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 32 2e 32 2e 33 20 20 33 20 62 79 74 65 73 20 28 ..............|.2.2.3..3.bytes.(
1540 55 2d 30 30 30 30 46 46 46 46 29 3a 20 20 20 20 20 20 20 20 22 ef bf bf 22 20 20 20 20 20 20 20 U-0000FFFF):........"...".......
1560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1580 7c 0a 32 2e 32 2e 34 20 20 34 20 62 79 74 65 73 20 28 55 2d 30 30 31 46 46 46 46 46 29 3a 20 20 |.2.2.4..4.bytes.(U-001FFFFF):..
15a0 20 20 20 20 20 20 22 f7 bf bf bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"...."....................
15c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 32 2e 32 2e 35 20 20 35 20 62 79 74 65 73 ................|.2.2.5..5.bytes
15e0 20 28 55 2d 30 33 46 46 46 46 46 46 29 3a 20 20 20 20 20 20 20 20 22 fb bf bf bf bf 22 20 20 20 .(U-03FFFFFF):........"....."...
1600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1620 7c 0a 32 2e 32 2e 36 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 |.2.2.6..6.bytes.(U-7FFFFFFF):..
1640 20 20 20 20 20 20 22 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 ......"......"..................
1660 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 ................|...............
1680 20 20 20 20 20 20 20 20 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 20 20 20 20 20 20 20 20 20 20 20 20 ................................
16c0 7c 0a 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 |.2.3..Other.boundary.conditions
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 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 ................|...............
1720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
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 20 20 20 20 20 20 ................................
1760 7c 0a 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 |.2.3.1..U-0000D7FF.=.ed.9f.bf.=
1780 20 22 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 ."..."..........................
17a0 20 20 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 ..................|.2.3.2..U-000
17c0 30 45 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 0E000.=.ee.80.80.=."..."........
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 20 20 20 20 20 20 ................................
1800 20 20 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 ....|.2.3.3..U-0000FFFD.=.ef.bf.
1820 62 64 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 bd.=."..."......................
1840 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 33 2e 34 20 20 55 ......................|.2.3.4..U
1860 2d 30 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 -0010FFFF.=.f4.8f.bf.bf.=."...."
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 20 20 20 20 20 20 ................................
18a0 20 20 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 .........|.2.3.5..U-00110000.=.f
18c0 34 20 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 4.90.80.80.=."....".............
18e0 20 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 20 .........................|......
1900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1940 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 65 .........|.3..Malformed.sequence
1960 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 20 s...............................
1980 20 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 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 20 20 20 20 20 20 ................................
19e0 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 69 .........|.3.1..Unexpected.conti
1a00 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 20 nuation.bytes...................
1a20 20 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 20 .........................|......
1a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
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 20 20 20 20 20 20 ................................
1a80 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 69 .........|.Each.unexpected.conti
1aa0 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 6c nuation.byte.should.be.separatel
1ac0 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 6f y.signalled.as.a.........|.malfo
1ae0 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 20 rmed.sequence.of.its.own........
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 20 20 20 20 20 20 ................................
1b20 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 20 .........|......................
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 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 31 2e 31 .........................|.3.1.1
1b80 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 20 ..First.continuation.byte.0x80:.
1ba0 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 20 ".".............................
1bc0 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 61 .........|.3.1.2..Last..continua
1be0 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 20 tion.byte.0xbf:.".".............
1c00 20 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 20 .........................|......
1c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
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 20 20 20 20 20 20 ................................
1c60 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 6e .........|.3.1.3..2.continuation
1c80 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 20 .bytes:.".."....................
1ca0 20 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 34 .........................|.3.1.4
1cc0 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 20 ..3.continuation.bytes:."..."...
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 20 20 20 20 20 20 ................................
1d00 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 6e .........|.3.1.5..4.continuation
1d20 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 20 .bytes:."...."..................
1d40 20 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 36 .........................|.3.1.6
1d60 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 20 ..5.continuation.bytes:.".....".
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 20 20 20 20 20 20 ................................
1da0 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 6e .........|.3.1.7..6.continuation
1dc0 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 20 .bytes:."......"................
1de0 20 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 38 .........................|.3.1.8
1e00 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 80 ..7.continuation.bytes:.".......
1e20 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 "...............................
1e40 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 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 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 31 2e 39 .........................|.3.1.9
1ea0 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 6f ..Sequence.of.all.64.possible.co
1ec0 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 20 ntinuation.bytes.(0x80-0xbf):...
1ee0 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 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 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 22 80 .........................|....".
1f40 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 20 ................................
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 20 20 20 20 20 20 ................................
1f80 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 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 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 a0 .........................|......
1fe0 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 20 ................................
2000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2020 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 22 .........|....................."
2040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2060 20 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 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 20 20 20 20 20 20 ................................
20c0 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 61 .........|.3.2..Lonely.start.cha
20e0 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 20 racters.........................
2100 20 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 20 .........................|......
2120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 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 20 20 20 20 20 20 ................................
2160 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 62 .........|.3.2.1..All.32.first.b
2180 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 30 ytes.of.2-byte.sequences.(0xc0-0
21a0 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 20 xdf),....................|......
21c0 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 61 ..each.followed.by.a.space.chara
21e0 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 20 cter:...........................
2200 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 20 .........|......................
2220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2240 20 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 c0 .........................|....".
2260 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 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 20 20 20 20 20 20 ................................
22a0 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 d8 .........|......................
22c0 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 20 ..............."................
22e0 20 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 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 20 20 20 20 20 20 ................................
2340 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 62 .........|.3.2.2..All.16.first.b
2360 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 30 ytes.of.3-byte.sequences.(0xe0-0
2380 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 20 xef),....................|......
23a0 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 61 ..each.followed.by.a.space.chara
23c0 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 20 cter:...........................
23e0 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 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 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 22 e0 .........................|....".
2440 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 22 ..............................."
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 20 20 20 20 20 20 ................................
2480 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 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 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 32 2e 33 .........................|.3.2.3
24e0 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 65 ..All.8.first.bytes.of.4-byte.se
2500 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 20 quences.(0xf0-0xf7),............
2520 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 20 .........|........each.followed.
2540 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 20 by.a.space.character:...........
2560 20 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 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 20 20 20 20 20 20 ................................
25c0 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 22 .........|...."................"
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 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 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 20 20 20 20 20 20 ................................
2660 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 79 .........|.3.2.4..All.4.first.by
2680 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 78 tes.of.5-byte.sequences.(0xf8-0x
26a0 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 20 fb),.....................|......
26c0 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 61 ..each.followed.by.a.space.chara
26e0 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 20 cter:...........................
2700 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 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 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 22 f8 .........................|....".
2760 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 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 20 20 20 20 20 20 ................................
27a0 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 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 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 32 2e 35 .........................|.3.2.5
2800 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 65 ..All.2.first.bytes.of.6-byte.se
2820 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 20 quences.(0xfc-0xfd),............
2840 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 20 .........|........each.followed.
2860 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 20 by.a.space.character:...........
2880 20 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 20 .........................|......
28a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
28c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
28e0 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 20 .........|...."...."............
2900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2920 20 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 20 .........................|......
2940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2980 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 6c .........|.3.3..Sequences.with.l
29a0 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 20 ast.continuation.byte.missing...
29c0 20 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 20 .........................|......
29e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2a20 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 6d .........|.All.bytes.of.an.incom
2a40 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 6c plete.sequence.should.be.signall
2a60 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 6f ed.as.a.single...........|.malfo
2a80 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 20 rmed.sequence,.i.e.,.you.should.
2aa0 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 20 see.only.a.single.replacement...
2ac0 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 20 .........|.character.in.each.of.
2ae0 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 61 the.next.10.tests..(Characters.a
2b00 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 20 s.in.section.2)..........|......
2b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2b60 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 63 .........|.3.3.1..2-byte.sequenc
2b80 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 30 e.with.last.byte.missing.(U+0000
2ba0 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 32 ):....."."...............|.3.3.2
2bc0 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 65 ..3-byte.sequence.with.last.byte
2be0 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 20 .missing.(U+0000):....."..".....
2c00 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 6e 63 .........|.3.3.3..4-byte.sequenc
2c20 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 30 e.with.last.byte.missing.(U+0000
2c40 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 7c 0a 33 2e 33 2e 34 ):....."...".............|.3.3.4
2c60 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 62 79 74 65 ..5-byte.sequence.with.last.byte
2c80 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 22 20 20 20 .missing.(U+0000):....."...."...
2ca0 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 73 65 71 75 65 6e 63 .........|.3.3.5..6-byte.sequenc
2cc0 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 30 e.with.last.byte.missing.(U+0000
2ce0 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 7c 0a 33 2e 33 2e 36 ):....."....."...........|.3.3.6
2d00 20 20 32 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 ..2-byte.sequence.with.last.byte
2d20 20 6d 69 73 73 69 6e 67 20 28 55 2d 30 30 30 30 30 37 46 46 29 3a 20 22 df 22 20 20 20 20 20 20 .missing.(U-000007FF):."."......
2d40 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 33 2e 37 20 20 33 2d 62 79 74 65 20 73 65 71 75 65 6e 63 .........|.3.3.7..3-byte.sequenc
2d60 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 30 30 30 30 e.with.last.byte.missing.(U-0000
2d80 46 46 46 46 29 3a 20 22 ef bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 33 2e FFFF):.".."...............|.3.3.
2da0 38 20 20 34 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 8..4-byte.sequence.with.last.byt
2dc0 65 20 6d 69 73 73 69 6e 67 20 28 55 2d 30 30 31 46 46 46 46 46 29 3a 20 22 f7 bf bf 22 20 20 20 e.missing.(U-001FFFFF):."..."...
2de0 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 33 2e 39 20 20 35 2d 62 79 74 65 20 73 65 71 75 65 6e ..........|.3.3.9..5-byte.sequen
2e00 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 30 33 46 ce.with.last.byte.missing.(U-03F
2e20 46 46 46 46 46 29 3a 20 22 fb bf bf bf 22 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 33 2e 33 2e FFFFF):."...."............|.3.3.
2e40 31 30 20 36 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 10.6-byte.sequence.with.last.byt
2e60 65 20 6d 69 73 73 69 6e 67 20 28 55 2d 37 46 46 46 46 46 46 46 29 3a 20 22 fd bf bf bf bf 22 20 e.missing.(U-7FFFFFFF):.".....".
2e80 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 ..........|.....................
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 7c 0a 33 2e 34 20 ..........................|.3.4.
2ee0 20 43 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 69 6e 63 6f 6d 70 6c 65 74 65 20 73 65 71 .Concatenation.of.incomplete.seq
2f00 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 20 20 20 uences..........................
2f20 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 ..........|.....................
2f40 20 20 20 20 20 20 20 20 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 7c 0a 41 6c 6c 20 ..........................|.All.
2f80 74 68 65 20 31 30 20 73 65 71 75 65 6e 63 65 73 20 6f 66 20 33 2e 33 20 63 6f 6e 63 61 74 65 6e the.10.sequences.of.3.3.concaten
2fa0 61 74 65 64 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 73 65 65 20 31 30 20 6d 61 6c 66 6f 72 6d 65 ated,.you.should.see.10.malforme
2fc0 64 20 20 20 20 20 20 20 20 20 7c 0a 73 65 71 75 65 6e 63 65 73 20 62 65 69 6e 67 20 73 69 67 6e d.........|.sequences.being.sign
2fe0 61 6c 6c 65 64 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 alled:..........................
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 7c 0a 20 20 20 20 ..........................|.....
3020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3060 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 22 c0 e0 80 f0 80 80 f8 80 80 80 fc 80 80 80 80 df ..........|...."................
3080 ef bf f7 bf bf fb bf bf bf fd bf bf bf bf 22 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 7c 0a 20 20 20 ...........................|....
30c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
30e0 20 20 20 20 20 20 20 20 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 7c 0a 33 2e 35 20 20 49 6d 70 6f 73 73 69 62 6c 65 20 62 79 74 ...........|.3.5..Impossible.byt
3120 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..............................
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 7c 0a 20 20 20 ...........................|....
3160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
31a0 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 74 77 6f 20 62 ...........|.The.following.two.b
31c0 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 6f 72 72 65 63 74 20 ytes.cannot.appear.in.a.correct.
31e0 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 20 20 7c 0a 20 20 20 UTF-8.string...............|....
3200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3240 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 22 fe 22 20 20 20 20 ...........|.3.5.1..fe.=."."....
3260 20 20 20 20 20 20 20 20 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 7c 0a 33 2e 35 ...........................|.3.5
32a0 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 20 20 20 20 20 20 20 .2..ff.=."."....................
32c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
32e0 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 20 66 66 20 66 66 20 ...........|.3.5.3..fe.fe.ff.ff.
3300 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 20 20 20 20 20 20 20 =."...."........................
3320 20 20 20 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 ...........................|....
3340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3380 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 73 65 71 75 65 6e 63 ...........|.4..Overlong.sequenc
33a0 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..............................
33c0 20 20 20 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 ...........................|....
33e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3420 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 73 65 71 75 65 ...........|.The.following.seque
3440 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 63 6f 72 64 69 6e 67 nces.are.not.malformed.according
3460 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 20 20 7c 0a 74 68 65 .to.the.letter.of..........|.the
3480 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 77 65 76 65 72 2c 20 .Unicode.2.0.standard..However,.
34a0 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 73 73 61 72 79 20 61 they.are.longer.then.necessary.a
34c0 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 46 2d 38 20 65 6e 63 nd.........|.a.correct.UTF-8.enc
34e0 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 6f 64 75 63 65 20 74 oder.is.not.allowed.to.produce.t
3500 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 20 20 7c 0a 64 65 63 hem..A."safe.UTF-8.........|.dec
3520 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 6a 75 73 74 20 6c 69 oder".should.reject.them.just.li
3540 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 72 20 74 77 6f 20 20 ke.malformed.sequences.for.two..
3560 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 20 49 74 20 68 65 6c ...........|.reasons:.(1).It.hel
3580 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 69 66 20 6f 76 65 72 ps.to.debug.applications.if.over
35a0 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 20 20 7c 0a 6e 6f 74 long.sequences.are.........|.not
35c0 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 6e 74 61 74 69 6f 6e .treated.as.valid.representation
35e0 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 74 68 69 73 20 68 65 s.of.characters,.because.this.he
3600 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 6c 65 6d 73 20 6d 6f lps........|.to.spot.problems.mo
3620 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 73 65 71 75 65 6e 63 re.quickly..(2).Overlong.sequenc
3640 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 20 20 7c 0a 61 6c 74 es.provide.................|.alt
3660 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 6f 66 20 63 68 61 72 ernative.representations.of.char
3680 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 6f 75 73 6c 79 20 62 acters,.that.could.maliciously.b
36a0 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 73 73 20 66 69 6c 74 e..........|.used.to.bypass.filt
36c0 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 53 43 49 49 20 63 68 ers.that.check.only.for.ASCII.ch
36e0 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 20 20 7c 0a 69 6e 73 aracters..For..............|.ins
3700 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 69 6e 65 20 66 65 65 tance,.a.2-byte.encoded.line.fee
3720 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 74 20 62 79 20 61 20 d.(LF).would.not.be.caught.by.a.
3740 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 20 74 68 61 74 20 63 ...........|.line.counter.that.c
3760 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 74 20 69 74 20 77 6f ounts.only.0x0a.bytes,.but.it.wo
3780 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 20 20 7c 0a 70 72 6f uld.still.be...............|.pro
37a0 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 61 6e 20 75 6e 73 61 cessed.as.a.line.feed.by.an.unsa
37c0 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 20 74 68 65 20 20 20 fe.UTF-8.decoder.later.in.the...
37e0 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 6f 6d 20 61 20 73 65 ...........|.pipeline..From.a.se
3800 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 49 49 20 63 6f 6d 70 curity.point.of.view,.ASCII.comp
3820 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 20 20 7c 0a 73 65 71 atibility.of.UTF-8.........|.seq
3840 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 53 43 49 49 20 63 68 uences.means.also,.that.ASCII.ch
3860 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 65 64 20 74 6f 20 62 aracters.are.*only*.allowed.to.b
3880 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 62 79 20 41 53 43 49 e..........|.represented.by.ASCI
38a0 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 2d 30 78 37 66 2e 20 I.bytes.in.the.range.0x00-0x7f..
38c0 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 20 20 7c 0a 61 73 70 To.ensure.this.............|.asp
38e0 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 79 2c 20 75 73 65 20 ect.of.ASCII.compatibility,.use.
3900 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 22 20 74 68 61 74 20 only."safe.UTF-8.decoders".that.
3920 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 6f 6e 67 20 55 54 46 ...........|.reject.overlong.UTF
3940 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 73 68 6f 72 74 65 72 -8.sequences.for.which.a.shorter
3960 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 20 20 7c 0a 20 20 20 .encoding.exists...........|....
3980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
39a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
39c0 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 73 20 6f 66 20 61 6e ...........|.4.1..Examples.of.an
39e0 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 20 20 20 20 20 20 20 .overlong.ASCII.character.......
3a00 20 20 20 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 ...........................|....
3a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3a60 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 55 54 46 2d 38 20 64 ...........|.With.a.safe.UTF-8.d
3a80 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 69 6e 67 20 66 69 76 ecoder,.all.of.the.following.fiv
3aa0 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 20 20 7c 0a 72 65 70 e.overlong.................|.rep
3ac0 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 20 63 68 61 72 61 63 resentations.of.the.ASCII.charac
3ae0 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 20 72 65 6a 65 63 74 ter.slash.("/").should.be.reject
3b00 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 72 6d 65 64 20 55 54 ed.........|.like.a.malformed.UT
3b20 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 65 20 62 79 20 73 75 F-8.sequence,.for.instance.by.su
3b40 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 20 20 7c 0a 61 20 72 bstituting.it.with.........|.a.r
3b60 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 79 6f 75 20 73 65 65 eplacement.character..If.you.see
3b80 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 74 20 68 61 76 65 20 .a.slash.below,.you.do.not.have.
3ba0 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 65 63 6f 64 65 72 21 a..........|.safe.UTF-8.decoder!
3bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3be0 20 20 20 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 ...........................|....
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 20 20 20 20 ................................
3c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3c40 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 20 3d 20 63 30 20 61 ...........|.4.1.1.U+002F.=.c0.a
3c60 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 20 20 20 20 20 20 20 f.............=.".."............
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 7c 0a 34 2e 31 ...........................|.4.1
3ca0 2e 32 20 55 2b 30 30 32 46 20 3d 20 65 30 20 38 30 20 61 66 20 20 20 20 20 20 20 20 20 20 3d 20 .2.U+002F.=.e0.80.af..........=.
3cc0 22 e0 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 20 20 20 20 "..."...........................
3ce0 20 20 20 20 20 20 20 20 20 20 20 7c 0a 34 2e 31 2e 33 20 55 2b 30 30 32 46 20 3d 20 66 30 20 38 ...........|.4.1.3.U+002F.=.f0.8
3d00 30 20 38 30 20 61 66 20 20 20 20 20 20 20 3d 20 22 f0 80 80 af 22 20 20 20 20 20 20 20 20 20 20 0.80.af.......=."...."..........
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 7c 0a 34 2e 31 ...........................|.4.1
3d40 2e 34 20 55 2b 30 30 32 46 20 3d 20 66 38 20 38 30 20 38 30 20 38 30 20 61 66 20 20 20 20 3d 20 .4.U+002F.=.f8.80.80.80.af....=.
3d60 22 f8 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 20 20 ".....".........................
3d80 20 20 20 20 20 20 20 20 20 20 20 7c 0a 34 2e 31 2e 35 20 55 2b 30 30 32 46 20 3d 20 66 63 20 38 ...........|.4.1.5.U+002F.=.fc.8
3da0 30 20 38 30 20 38 30 20 38 30 20 61 66 20 3d 20 22 fc 80 80 80 80 af 22 20 20 20 20 20 20 20 20 0.80.80.80.af.=."......"........
3dc0 20 20 20 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 ...........................|....
3de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3e20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 34 2e 32 20 20 4d 61 78 69 6d 75 6d 20 6f 76 65 72 6c 6f ...........|.4.2..Maximum.overlo
3e40 6e 67 20 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 ng.sequences....................
3e60 20 20 20 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 ...........................|....
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 20 20 20 20 20 20 20 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 7c 0a 42 65 6c 6f 77 20 79 6f 75 20 73 65 65 20 74 68 65 20 68 ...........|.Below.you.see.the.h
3ee0 69 67 68 65 73 74 20 55 6e 69 63 6f 64 65 20 76 61 6c 75 65 20 74 68 61 74 20 69 73 20 73 74 69 ighest.Unicode.value.that.is.sti
3f00 6c 6c 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 61 6e 20 20 20 20 20 20 20 20 20 7c 0a 6f 76 65 ll.resulting.in.an.........|.ove
3f20 72 6c 6f 6e 67 20 73 65 71 75 65 6e 63 65 20 69 66 20 72 65 70 72 65 73 65 6e 74 65 64 20 77 69 rlong.sequence.if.represented.wi
3f40 74 68 20 74 68 65 20 67 69 76 65 6e 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 2e 20 54 68 th.the.given.number.of.bytes..Th
3f60 69 73 20 20 20 20 20 20 20 20 20 7c 0a 69 73 20 61 20 62 6f 75 6e 64 61 72 79 20 74 65 73 74 20 is.........|.is.a.boundary.test.
3f80 66 6f 72 20 73 61 66 65 20 55 54 46 2d 38 20 64 65 63 6f 64 65 72 73 2e 20 41 6c 6c 20 66 69 76 for.safe.UTF-8.decoders..All.fiv
3fa0 65 20 63 68 61 72 61 63 74 65 72 73 20 73 68 6f 75 6c 64 20 20 20 20 20 20 20 20 7c 0a 62 65 20 e.characters.should........|.be.
3fc0 72 65 6a 65 63 74 65 64 20 6c 69 6b 65 20 6d 61 6c 66 6f 72 6d 65 64 20 55 54 46 2d 38 20 73 65 rejected.like.malformed.UTF-8.se
3fe0 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.........................
4000 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 20 20 ...........|....................
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 20 20 20 20 20 ................................
4040 20 20 20 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
4060 2e 31 20 20 55 2d 30 30 30 30 30 30 37 46 20 3d 20 63 31 20 62 66 20 20 20 20 20 20 20 20 20 20 .1..U-0000007F.=.c1.bf..........
4080 20 20 20 3d 20 22 c1 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 ...=."..".......................
40a0 20 20 20 20 20 20 20 20 20 20 20 7c 0a 34 2e 32 2e 32 20 20 55 2d 30 30 30 30 30 37 46 46 20 3d ...........|.4.2.2..U-000007FF.=
40c0 20 65 30 20 39 66 20 62 66 20 20 20 20 20 20 20 20 20 20 3d 20 22 e0 9f bf 22 20 20 20 20 20 20 .e0.9f.bf..........=."..."......
40e0 20 20 20 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
4100 2e 33 20 20 55 2d 30 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 .3..U-0000FFFF.=.f0.8f.bf.bf....
4120 20 20 20 3d 20 22 f0 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 ...=."....".....................
4140 20 20 20 20 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 ...........|.4.2.4..U-001FFFFF.=
4160 20 66 38 20 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 .f8.87.bf.bf.bf....=."....."....
4180 20 20 20 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
41a0 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.
41c0 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.=."......"...................
41e0 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 20 20 ...........|....................
4200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4220 20 20 20 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 33 ...........................|.4.3
4240 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 66 20 74 68 65 ..Overlong.representation.of.the
4260 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 20 20 20 20 20 .NUL.character..................
4280 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 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 20 20 20 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 68 65 ...........................|.The
42e0 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 68 6f 75 6c 64 .following.five.sequences.should
4300 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 6f 72 6d 65 64 .also.be.rejected.like.malformed
4320 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 73 20 61 6e 64 ...........|.UTF-8.sequences.and
4340 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 20 74 68 65 20 .should.not.be.treated.like.the.
4360 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 7c 0a 63 68 61 ASCII.NUL..................|.cha
4380 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 20 20 20 20 20 racter..........................
43a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
43c0 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 20 20 ...........|....................
43e0 20 20 20 20 20 20 20 20 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 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 34 2e 33 ...........................|.4.3
4420 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 20 20 20 20 3d .1..U+0000.=.c0.80.............=
4440 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 20 20 20 20 20 .".."...........................
4460 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 20 3d 20 65 30 20 ...........|.4.3.2..U+0000.=.e0.
4480 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 20 20 20 20 20 20 80.80..........=."..."..........
44a0 20 20 20 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 33 ...........................|.4.3
44c0 2e 33 20 20 55 2b 30 30 30 30 20 3d 20 66 30 20 38 30 20 38 30 20 38 30 20 20 20 20 20 20 20 3d .3..U+0000.=.f0.80.80.80.......=
44e0 20 22 f0 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 20 ."....".........................
4500 20 20 20 20 20 20 20 20 20 20 20 7c 0a 34 2e 33 2e 34 20 20 55 2b 30 30 30 30 20 3d 20 66 38 20 ...........|.4.3.4..U+0000.=.f8.
4520 38 30 20 38 30 20 38 30 20 38 30 20 20 20 20 3d 20 22 f8 80 80 80 80 22 20 20 20 20 20 20 20 20 80.80.80.80....=."....."........
4540 20 20 20 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 33 ...........................|.4.3
4560 2e 35 20 20 55 2b 30 30 30 30 20 3d 20 66 63 20 38 30 20 38 30 20 38 30 20 38 30 20 38 30 20 3d .5..U+0000.=.fc.80.80.80.80.80.=
4580 20 22 fc 80 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 ."......".......................
45a0 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 20 20 ...........|....................
45c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
45e0 20 20 20 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 20 20 ...........................|.5..
4600 49 6c 6c 65 67 61 6c 20 63 6f 64 65 20 70 6f 73 69 74 69 6f 6e 73 20 20 20 20 20 20 20 20 20 20 Illegal.code.positions..........
4620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4640 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 20 20 ...........|....................
4660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4680 20 20 20 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 68 65 ...........................|.The
46a0 20 66 6f 6c 6c 6f 77 69 6e 67 20 55 54 46 2d 38 20 73 65 71 75 65 6e 63 65 73 20 73 68 6f 75 6c .following.UTF-8.sequences.shoul
46c0 64 20 62 65 20 72 65 6a 65 63 74 65 64 20 6c 69 6b 65 20 6d 61 6c 66 6f 72 6d 65 64 20 20 20 20 d.be.rejected.like.malformed....
46e0 20 20 20 20 20 20 20 20 20 20 20 7c 0a 73 65 71 75 65 6e 63 65 73 2c 20 62 65 63 61 75 73 65 20 ...........|.sequences,.because.
4700 74 68 65 79 20 6e 65 76 65 72 20 72 65 70 72 65 73 65 6e 74 20 76 61 6c 69 64 20 49 53 4f 20 31 they.never.represent.valid.ISO.1
4720 30 36 34 36 20 63 68 61 72 61 63 74 65 72 73 20 61 6e 64 20 20 20 20 20 20 20 20 7c 0a 61 20 55 0646.characters.and........|.a.U
4740 54 46 2d 38 20 64 65 63 6f 64 65 72 20 74 68 61 74 20 61 63 63 65 70 74 73 20 74 68 65 6d 20 6d TF-8.decoder.that.accepts.them.m
4760 69 67 68 74 20 69 6e 74 72 6f 64 75 63 65 20 73 65 63 75 72 69 74 79 20 70 72 6f 62 6c 65 6d 73 ight.introduce.security.problems
4780 20 20 20 20 20 20 20 20 20 20 20 7c 0a 63 6f 6d 70 61 72 61 62 6c 65 20 74 6f 20 6f 76 65 72 6c ...........|.comparable.to.overl
47a0 6f 6e 67 20 55 54 46 2d 38 20 73 65 71 75 65 6e 63 65 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 ong.UTF-8.sequences.............
47c0 20 20 20 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 ...........................|....
47e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
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 20 20 20 20 20 20 20 20 7c 0a 35 2e 31 20 53 69 6e 67 6c 65 20 55 54 46 2d 31 36 20 73 ...........|.5.1.Single.UTF-16.s
4840 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 20 20 urrogates.......................
4860 20 20 20 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 ...........................|....
4880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
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 20 20 20 20 7c 0a 35 2e 31 2e 31 20 20 55 2b 44 38 30 30 20 3d 20 65 64 20 ...........|.5.1.1..U+D800.=.ed.
48e0 61 30 20 38 30 20 3d 20 22 ed a0 80 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 a0.80.=."..."...................
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 20 20 7c 0a 35 2e 31 ...........................|.5.1
4920 2e 32 20 20 55 2b 44 42 37 46 20 3d 20 65 64 20 61 64 20 62 66 20 3d 20 22 ed ad bf 22 20 20 20 .2..U+DB7F.=.ed.ad.bf.=."..."...
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 33 20 20 55 2b 44 42 38 30 20 3d 20 65 64 20 ...........|.5.1.3..U+DB80.=.ed.
4980 61 65 20 38 30 20 3d 20 22 ed ae 80 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ae.80.=."..."...................
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 7c 0a 35 2e 31 ...........................|.5.1
49c0 2e 34 20 20 55 2b 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 .4..U+DBFF.=.ed.af.bf.=."..."...
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 7c 0a 35 2e 31 2e 35 20 20 55 2b 44 43 30 30 20 3d 20 65 64 20 ...........|.5.1.5..U+DC00.=.ed.
4a20 62 30 20 38 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 b0.80.=."..."...................
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 7c 0a 35 2e 31 ...........................|.5.1
4a60 2e 36 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 .6..U+DF80.=.ed.be.80.=."..."...
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 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.
4ac0 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.=."..."...................
4ae0 20 20 20 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 ...........................|....
4b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4b40 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 20 73 ...........|.5.2.Paired.UTF-16.s
4b60 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 20 20 urrogates.......................
4b80 20 20 20 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 ...........................|....
4ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4be0 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 43 30 ...........|.5.2.1..U+D800.U+DC0
4c00 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 80 22 0.=.ed.a0.80.ed.b0.80.=."......"
4c20 20 20 20 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 ...........................|.5.2
4c40 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 38 30 20 65 64 20 .2..U+D800.U+DFFF.=.ed.a0.80.ed.
4c60 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 20 20 20 20 20 20 bf.bf.=."......"................
4c80 20 20 20 20 20 20 20 20 20 20 20 7c 0a 35 2e 32 2e 33 20 20 55 2b 44 42 37 46 20 55 2b 44 43 30 ...........|.5.2.3..U+DB7F.U+DC0
4ca0 30 20 3d 20 65 64 20 61 64 20 62 66 20 65 64 20 62 30 20 38 30 20 3d 20 22 ed ad bf ed b0 80 22 0.=.ed.ad.bf.ed.b0.80.=."......"
4cc0 20 20 20 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 ...........................|.5.2
4ce0 2e 34 20 20 55 2b 44 42 37 46 20 55 2b 44 46 46 46 20 3d 20 65 64 20 61 64 20 62 66 20 65 64 20 .4..U+DB7F.U+DFFF.=.ed.ad.bf.ed.
4d00 62 66 20 62 66 20 3d 20 22 ed ad bf ed bf bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bf.bf.=."......"................
4d20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 35 2e 32 2e 35 20 20 55 2b 44 42 38 30 20 55 2b 44 43 30 ...........|.5.2.5..U+DB80.U+DC0
4d40 30 20 3d 20 65 64 20 61 65 20 38 30 20 65 64 20 62 30 20 38 30 20 3d 20 22 ed ae 80 ed b0 80 22 0.=.ed.ae.80.ed.b0.80.=."......"
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 7c 0a 35 2e 32 ...........................|.5.2
4d80 2e 36 20 20 55 2b 44 42 38 30 20 55 2b 44 46 46 46 20 3d 20 65 64 20 61 65 20 38 30 20 65 64 20 .6..U+DB80.U+DFFF.=.ed.ae.80.ed.
4da0 62 66 20 62 66 20 3d 20 22 ed ae 80 ed bf bf 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bf.bf.=."......"................
4dc0 20 20 20 20 20 20 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 ...........|.5.2.7..U+DBFF.U+DC0
4de0 30 20 3d 20 65 64 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 0.=.ed.af.bf.ed.b0.80.=."......"
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 7c 0a 35 2e 32 ...........................|.5.2
4e20 2e 38 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 .8..U+DBFF.U+DFFF.=.ed.af.bf.ed.
4e40 62 66 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 bf.bf.=."......"................
4e60 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 20 20 ...........|....................
4e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4ea0 20 20 20 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 33 ...........................|.5.3
4ec0 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 20 20 .Noncharacter.code.positions....
4ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4f00 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 20 20 ...........|....................
4f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4f40 20 20 20 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 68 65 ...........................|.The
4f60 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 20 22 .following."noncharacters".are."
4f80 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 20 20 reserved.for.internal.use".by...
4fa0 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 20 61 ...........|.applications,.and.a
4fc0 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 74 68 ccording.to.older.versions.of.th
4fe0 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 73 68 e.Unicode.Standard.........|."sh
5000 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 6e 69 ould.never.be.interchanged"..Uni
5020 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 65 20 code.Corrigendum.#9.dropped.the.
5040 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 6e 2e ...........|.latter.restriction.
5060 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 69 6e .Nevertheless,.their.presence.in
5080 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 61 6e .incoming.UTF-8.data.......|.can
50a0 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 69 73 .remain.a.potential.security.ris
50c0 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 64 65 k,.depending.on.what.use.is.made
50e0 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 71 75 .of........|.these.codes.subsequ
5100 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 61 6c ently..Examples.of.such.internal
5120 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 20 20 .use:......................|....
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 20 20 20 ................................
5160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5180 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 20 77 ...........|..-.Some.file.APIs.w
51a0 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 74 68 ith.16-bit.characters.may.use.th
51c0 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 20 20 e.integer.value.-1.........|....
51e0 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 69 6c =.U+FFFF.to.signal.an.end-of-fil
5200 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 20 20 e.(EOF).or.error.condition......
5220 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 20 20 ...........|....................
5240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5260 20 20 20 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 2d 20 ...........................|..-.
5280 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 20 70 In.some.UTF-16.receivers,.code.p
52a0 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 20 20 oint.U+FFFE.might.trigger.a.....
52c0 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 61 74 ...........|....byte-swap.operat
52e0 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 4c 45 ion.(to.convert.between.UTF-16LE
5300 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 20 20 .and.UTF-16BE).............|....
5320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5360 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 6c 20 ...........|.With.such.internal.
5380 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 65 20 use.of.noncharacters,.it.may.be.
53a0 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 6f 20 desirable.and.safer........|.to.
53c0 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 2d 38 block.those.code.points.in.UTF-8
53e0 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 72 20 .decoders,.as.they.should.never.
5400 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 79 20 ...........|.occur.legitimately.
5420 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 75 6c in.incoming.UTF-8.data,.and.coul
5440 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 65 68 d.trigger.unsafe...........|.beh
5460 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 67 2e aviour.in.subsequent.processing.
5480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
54a0 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 20 20 ...........|....................
54c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
54e0 20 20 20 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 61 72 ...........................|.Par
5500 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 63 74 ticularly.problematic.noncharact
5520 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 20 20 ers.in.16-bit.applications:.....
5540 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 20 20 ...........|....................
5560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5580 20 20 20 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 33 ...........................|.5.3
55a0 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 20 20 .1..U+FFFE.=.ef.bf.be.=."..."...
55c0 20 20 20 20 20 20 20 20 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 7c 0a 35 2e 33 2e 32 20 20 55 2b 46 46 46 46 20 3d 20 65 .............|.5.3.2..U+FFFF.=.e
5600 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 20 20 f.bf.bf.=."...".................
5620 20 20 20 20 20 20 20 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 ...............................|
5640 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 ................................
5660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5680 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 61 63 ...............|.Other.noncharac
56a0 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 20 20 ters:...........................
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 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5720 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 20 2e ...............|.5.3.3..U+FDD0..
5740 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 ef b7 ..U+FDEF.=."....................
5760 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 a0 ef ................................
5780 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 b7 ab ................................
57a0 ef b7 ac ef b7 ad ef b7 ae ef b7 af 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ............"..................|
57c0 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 ................................
57e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 35 2e 33 2e 34 20 20 55 2b 6e 46 46 46 45 20 ...............|.5.3.4..U+nFFFE.
5820 55 2b 6e 46 46 46 46 20 28 66 6f 72 20 6e 20 3d 20 31 2e 2e 31 30 29 20 20 20 20 20 20 20 20 20 U+nFFFF.(for.n.=.1..10).........
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 20 20 20 20 7c ...............................|
5860 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 ................................
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 20 20 20 20 7c 0a 20 20 20 20 20 20 20 22 f0 9f bf be f0 9f bf ...............|........".......
58c0 bf f0 af bf be f0 af bf bf f0 bf bf be f0 bf bf bf f1 8f bf be f1 8f bf bf f1 9f bf be f1 9f bf ................................
58e0 bf f1 af bf be f1 af bf bf f1 bf bf be f1 bf bf bf f2 8f bf be f2 8f bf bf 20 20 20 20 20 20 20 ................................
5900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5920 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 f2 9f bf be f2 9f bf ...............|................
5940 bf f2 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 ................................
5960 bf f3 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 ........................."......
5980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
59a0 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 ...............|................
59c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
59e0 20 20 20 20 20 20 20 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 ...............................|
5a00 0a 54 48 45 20 45 4e 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .THE.END........................
5a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a ...............|.