1import{d as Ie,r as m,y as d,B as oe,Y as De,i as U,w as Be,g as A,v as Pe,a as e,p as le,t as c,h as Z,T as Ue,o as t,c as l,j as u,n as V,F as k,b as L,$ as ce,W as ne,_ as Me,s as Fe,A as Ve,x as He,E as Oe,f as $,C as Ge,m as We,k as Ye,e as W}from"./D8c3LIj3.js";import{R as Ze,i as ze,S as Je}from"./DA_LB43S.js";import{_ as Qe}from"./BjjWJ0KR.js";import{S as Ae}from"./BzIUb66B.js";import{M as Xe}from"./Dqer32iz.js";import{S as qe,a as Ke,R as es}from"./DouxeXia.js";import{_ as ss}from"./CqSlf9go.js";import{u as fe,h as ts,v as as,w as je,r as os,t as ls}from"./DV53sO7F.js";import{x as ns,z as J,s as F,e as de,b as Re,p as he,c as rs,r as is,d as D,A as us,u as cs,B as ds,C as vs,h as ae,v as ms,D as ps,w as ys}from"./B9d72eSQ.js";import{f as hs}from"./DexS_W6k.js";import{t as fs,n as $e,i as _s,s as bs}from"./BhSyUPxx.js";import{o as Y}from"./Cog-zZmc.js";const Le=""+new URL("manual.DZ_3N8Du.png",import.meta.url).href,ks=""+new URL("report-modal-header-bg_2x.BPHPXQ8Y.png",import.meta.url).href,gs={class:"report-header"},Cs={class:"report-header-main"},ws={id:"admission-report-title",class:"page-title"},js={class:"report-body"},Rs={key:0,class:"report-sec"},$s={class:"report-panel"},Ls={class:"chart-card"},Ss={class:"stat-row"},Is={class:"num"},Ds={key:1,class:"report-sec"},Ms={class:"report-panel"},zs={class:"chart-card"},As={class:"stat-row"},Ns={class:"num"},Ts={key:2,class:"report-sec"},Es={class:"report-panel"},xs={class:"chart-card"},Bs={class:"stat-row"},Ps={class:"num"},Us=Ie({__name:"AdmissionReportModal",props:{visible:{type:Boolean,default:!1},schoolId:{default:""},majorMiniCategory:{default:""},title:{default:"å½åæ¥å"}},emits:["update:visible"],setup(_e,{emit:H}){const w=_e,ve=H,N=m(!1),i=m(J(null)),M=m(!1),j=p=>(p||[]).filter(o=>ns(o.value)),Q=d(()=>j(i.value.schoolDist)),X=d(()=>j(i.value.majorDist)),q=d(()=>j(i.value.scoreDist)),S=d(()=>Q.value.length>0),I=d(()=>X.value.length>0),T=d(()=>q.value.length>0),C=d(()=>S.value?"bg":I.value?"major":T.value?"score":""),z=m(null),O=m(null),B=m(null);let b=null,h=null,g=null;const K=p=>({animation:!1,series:[{type:"pie",radius:["48%","78%"],center:["50%","50%"],silent:!0,startAngle:90,label:{show:!1},labelLine:{show:!1},itemStyle:{borderColor:"rgba(255, 255, 255, 1)",borderWidth:3},data:p.map(o=>({value:o.value,name:o.name,itemStyle:{color:o.color}}))}]}),r=(p,o,v)=>(!p||!v.length||(o||(o=ze(p)),o.setOption(K(v),!0),o.resize()),o),ee=()=>{b==null||b.dispose(),h==null||h.dispose(),g==null||g.dispose(),b=null,h=null,g=null},re=()=>{S.value&&(b=r(z.value,b,Q.value)),I.value&&(h=r(O.value,h,X.value)),T.value&&(g=r(B.value,g,q.value))},se=()=>{b==null||b.resize(),h==null||h.resize(),g==null||g.resize()},te=async()=>{if(!w.schoolId){i.value=J(null);return}N.value=!0;try{const p={schoolId:w.schoolId};w.majorMiniCategory&&(p.majorMiniCategory=w.majorMiniCategory);const o=await F(fe(p));i.value=J(de(o))}finally{N.value=!1}},G=()=>{M.value=!1,ve("update:visible",!1)};return oe(()=>[w.visible,w.schoolId,w.majorMiniCategory],async([p])=>{if(!p){document.body.style.overflow="",window.removeEventListener("resize",se),ee(),M.value=!1;return}document.body.style.overflow="hidden",await te(),await ne(),re(),window.addEventListener("resize",se)}),oe(()=>[i.value.schoolDist,i.value.majorDist,i.value.scoreDist],async()=>{w.visible&&(await ne(),re())}),De(()=>{document.body.style.overflow="",window.removeEventListener("resize",se),ee()}),(p,o)=>(t(),U(Ue,{to:"body"},[Be(e("div",{class:"report-mask",onClick:le(G,["self"])},[e("div",{class:"report-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"admission-report-title",onClick:o[3]||(o[3]=le(()=>{},["stop"]))},[e("header",gs,[o[6]||(o[6]=e("img",{class:"report-header-bg",src:ks,alt:""},null,-1)),e("div",Cs,[e("h3",ws,c(p.title),1),e("button",{type:"button",class:"report-close","aria-label":"å
³é",onClick:G},o[5]||(o[5]=[e("img",{src:ss,alt:""},null,-1)]))])]),e("div",js,[A(Ae,{loading:N.value,variant:"detail"},{default:Z(()=>[S.value?(t(),l("section",Rs,[e("div",{class:V(["section-hd",{"is-first":C.value==="bg"}])},[o[7]||(o[7]=e("i",{class:"hd-bar"},null,-1)),o[8]||(o[8]=e("h4",{class:"title"}
1,"æ¬ç§èæ¯",-1)),C.value==="bg"?(t(),l("button",{key:0,type:"button",class:"desc-link",onClick:o[0]||(o[0]=v=>M.value=!0)},"æ¥å说æ>")):u("",!0)],2),o[9]||(o[9]=e("div",{class:"report-banner"},[e("i",{class:"banner-dot"}),e("span",null,"ç³è¯·æåæ¡ä¾ æ¬ç§å¦æ ¡ ç±»ååå¸")],-1)),e("div",$s,[e("div",Ls,[e("div",{ref_key:"bgChartRef",ref:z,class:"chart"},null,512)]),e("div",Ss,[(t(!0),l(k,null,L(Q.value,(v,P)=>(t(),l("div",{key:"bg-"+P,class:"stat-card"},[e("i",{class:"stat-bar",style:ce({background:v.color})},null,4),e("div",null,[e("strong",Is,c(v.value)+"%",1),e("span",null,c(v.name),1)])]))),128))])])])):u("",!0),I.value?(t(),l("section",Ds,[e("div",{class:V(["section-hd",{"is-first":C.value==="major"}])},[o[10]||(o[10]=e("i",{class:"hd-bar"},null,-1)),o[11]||(o[11]=e("h4",{class:"title"},"æ¬ç§ä¸ä¸",-1)),C.value==="major"?(t(),l("button",{key:0,type:"button",class:"desc-link",onClick:o[1]||(o[1]=v=>M.value=!0)},"æ¥å说æ>")):u("",!0)],2),o[12]||(o[12]=e("div",{class:"report-banner"},[e("i",{class:"banner-dot"}),e("span",null,"ç³è¯·æåæ¡ä¾ æ¬ç§ ä¸ä¸ç±»å«åå¸")],-1)),e("div",Ms,[e("div",zs,[e("div",{ref_key:"majorChartRef",ref:O,class:"chart"},null,512)]),e("div",As,[(t(!0),l(k,null,L(X.value,(v,P)=>(t(),l("div",{key:"mj-"+P,class:"stat-card"},[e("i",{class:"stat-bar",style:ce({background:v.color})},null,4),e("div",null,[e("strong",Ns,c(v.value)+"%",1),e("span",null,c(v.name),1)])]))),128))])])])):u("",!0),T.value?(t(),l("section",Ts,[e("div",{class:V(["section-hd",{"is-first":C.value==="score"}])},[o[13]||(o[13]=e("i",{class:"hd-bar"},null,-1)),o[14]||(o[14]=e("h4",{class:"title"},"æ¬ç§æç»©",-1)),C.value==="score"?(t(),l("button",{key:0,type:"button",class:"desc-link",onClick:o[2]||(o[2]=v=>M.value=!0)},"æ¥å说æ>")):u("",!0)],2),o[15]||(o[15]=e("div",{class:"report-banner report-banner--sm"},[e("i",{class:"banner-dot"}),e("span",null,"ç³è¯·æåæ¡ä¾ æ¬ç§æç»©åå¸")],-1)),e("div",Es,[e("div",xs,[e("div",{ref_key:"scoreChartRef",ref:B,class:"chart"},null,512)]),e("div",Bs,[(t(!0),l(k,null,L(q.value,(v,P)=>(t(),l("div",{key:"sc-"+P,class:"stat-card"},[e("i",{class:"stat-bar",style:ce({background:v.color})},null,4),e("div",null,[e("strong",Ps,c(v.value)+"%",1),e("span",null,c(v.name),1)])]))),128))])])])):u("",!0)]),_:1},8,["loading"])])])],512),[[Pe,p.visible]]),A(Ze,{visible:p.visible&&M.value,"onUpdate:visible":o[4]||(o[4]=v=>M.value=v)},null,8,["visible"])]))}}),Fs=Me(Us,[["__scopeId","data-v-cd9e06ca"]]),Vs={class:"school-lib-detail"},Hs={class:"handbook-top"},Os={class:"handbook-top-inner"},Gs={class:"handbook-top-title"},Ws={class:"detail-main"},Ys={key:0,class:"hero"},Zs=["src","alt"],Js={class:"hero-info"},Qs={key:0,class:"name-row"},Xs={key:0,class:"name-cn"},qs={key:1,class:"en-row"},Ks={key:0,class:"name-en"},et=["href"],st={key:2,class:"tag-row"},tt={key:3,class:"loc-row"},at=["src"],ot={key:1},lt={key:1,class:"intro"},nt={key:2,class:"handbook"},rt={class:"handbook-title"},it={key:3,class:"info-table"},ut={class:"info-label"},ct={key:0},dt={class:"website-url"},vt=["onClick"],mt={key:0,class:"info-row is-block"},pt={class:"info-value"},yt={class:"filter-tabs major-cats"},ht={class:"tab-list"},ft=["onClick"],_t={key:1,class:"major-grid"},bt={key:4,class:"report-sec"},kt={class:"filter-tabs report-tabs"},gt={class:"tab-list"},Ct=["onClick"],wt={class:"report-panel"},jt={class:"chart-card"},Rt={class:"report-side"},$t={class:"report-banner-row"},Lt={key:0,class:"report-banner"},St={key:0,class:"stat-row"},It={class:"num success"},Se=3,Dt=Ie({__name:"[id]",async setup(_e){var ke,ge,Ce;let H,w;const ve=Fe(),N=d(()=>fs(ve.params.id)),i=N,M=m([{name:"颿 ¡åº",link:"/school"}]),{data:j,status:Q,refresh:X}=([H,w]=Ve(async()=>Ge(()=>`school-lib-detail-${N.value}`,async()=>{if(!i.value)return null;try{const[s,a,_,f,n,y]=await Promise.all([F(ts(i.value)),F(as(i.value)),F(je({page:1,pageSize:Se,schoolId:i.value})),F(os({page:1,pageSize:3,schoolId:i.value})),F(fe({schoolId:i.value})),F(ls({schoolId:i.value}))]),E=Re(a)||[],ue=[{majorCategoryName:"å
¨é¨",majorCategoryCode:""},...(Array.isArray(E)?E:[]).filter(x=>x&&x.majorCategoryName)],we=de(y);return{raw:Re(s)||{},majorCategories:ue,majors:he(_).map(x=>$e(x)),news:he(f).map(x=>is(x)),stat:de(n),cases:(Array.isArray(we)?we:[]).map(x=>rs(x))}}catch{return null}},{default:()=>
1null,watch:[N]})),H=await H,w(),H),q=d(()=>_s(Q.value)),S=d(()=>{var s;return((s=j.value)==null?void 0:s.raw)||{}}),I=m(J(null)),T=m(I.value.reportMajors),C=m(0),z=m(""),O=m(!1),B=m(!1),b=m(!1),h=m(((ke=j.value)==null?void 0:ke.majors)||[]),g=m(((ge=j.value)==null?void 0:ge.news)||[]),K=m(((Ce=j.value)==null?void 0:Ce.cases)||[]);oe(j,s=>{if(!s)return;I.value=J(s.stat||null),O.value||(T.value=I.value.reportMajors,O.value=!0);const a=I.value.overview;B.value=ae(a.successCount)||ae(a.failCount),h.value=s.majors||[],g.value=s.news||[],K.value=s.cases||[]},{immediate:!0}),oe(N,(s,a)=>{!s||s===a||(O.value=!1,B.value=!1,C.value=0,z.value="",b.value=!1)});const r=d(()=>{const s=S.value,a=D(s.schoolCnName),_=D(s.schoolCountryCn),f=us(_);return{nameCn:a,nameEn:D(s.schoolEnName),logo:D(s.schoolLogoUrl),website:D(s.schoolWebsite),location:ds(s),tags:[D(s.schoolNature),...bs(s.schoolAlliance)].filter(Boolean),countryLogo:D(s.countryLogoUrl),countryLink:f?`/country/${f}`:"",ranks:cs(s),intro:D(s.schoolDescription),handbookTitle:a?`${a}çå¦ç³è¯·æå`:"çå¦ç³è¯·æå"}}),ee=d(()=>{const s=D(S.value.schoolCountryCn),a=D(S.value.schoolCnName);return{title:s?`${s}çå¦äº¤æµç¾¤`:"çå¦äº¤æµç¾¤",desc:`${s}ç妿æ°å¨æï¼${a}æ°å¢ä¸ä¸ã项ç®ç³è¯·å³...`}}),re=d(()=>i.value?`/major?schoolId=${encodeURIComponent(i.value)}`:"/major"),se=d(()=>i.value?`/case?schoolIds=${encodeURIComponent(i.value)}`:"/case"),te=d(()=>{var s;return((s=j.value)==null?void 0:s.majorCategories)||[{majorCategoryName:"å
¨é¨",majorCategoryCode:""}]}),G=d(()=>vs(S.value)),p=d(()=>{const s=r.value;return!!(s.logo||s.nameCn||s.nameEn||s.website||s.tags.length||s.location||s.ranks.length)}),o=d(()=>!!(r.value.intro||G.value.length)),v=d(()=>h.value.length>0||te.value.length>1),P=d(()=>B.value),ie=d(()=>I.value.schoolDist||[]),me=d(()=>ie.value.some(s=>ae(s.value))),Ne=d(()=>{const s=r.value.nameCn||"",a=T.value.find(n=>n.value===z.value),_=a&&a.value?a.name:"";let f=s||"";return _&&(f+=`${_}æ¹å`),f+="å½åæ¥å",f||"å½åæ¥å"});He(()=>({title:`${r.value.nameCn||"颿 ¡è¯¦æ
"}_颿 ¡è¯¦æ
-å¯å¾·æè²`,tagPriority:-3}));const Te=async()=>{if(i.value)try{const s={page:1,pageSize:Se,schoolId:i.value},a=te.value[C.value];a&&a.majorCategoryCode&&(s.majorCategoryCode=[a.majorCategoryCode]);const _=await je(s);h.value=he(_).map(f=>$e(f))}catch{h.value=[]}},Ee=s=>{C.value!==s&&(C.value=s,Te())},xe=async s=>{if(z.value!==s.value&&(z.value=s.value,!!i.value))try{const a={schoolId:i.value};s.value&&(a.majorMiniCategory=s.value);const _=await fe(a),f=J(de(_));I.value={...f,reportMajors:T.value},s.value||(B.value=ae(f.overview.successCount)||ae(f.overview.failCount)),await ne(),ye()}catch{}},pe=m(null);let R=null;const ye=()=>{if(!pe.value)return;R||(R=ze(pe.value));const s=me.value?ie.value.map(a=>({value:a.value,name:a.name,itemStyle:{color:a.color}})):[{value:1,name:"",itemStyle:{color:"rgba(232, 232, 232, 1)"}}];R.setOption({animation:!1,series:[{type:"pie",radius:["48%","78%"],center:["50%","50%"],silent:!0,startAngle:90,label:{show:!1},labelLine:{show:!1},itemStyle:{borderColor:"rgba(255, 255, 255, 1)",borderWidth:3},data:s}]},!0),R.resize()},be=()=>{R==null||R.resize()};return Oe(async()=>{var a;const s=(a=j.value)==null?void 0:a.raw;(!s||!Object.keys(s).length)&&await X(),await ne(),ye(),window.addEventListener("resize",be)}),De(()=>{window.removeEventListener("resize",be),R==null||R.dispose(),R=null}),oe(()=>ie.value,async()=>{await ne(),ye()}),(s,a)=>{const _=Ye,f=We("el-empty");return t(),l("div",Vs,[A(Qe,{position:M.value,lastTitle:r.value.nameCn,customizeH2Name:"颿 ¡åº"},null,8,["position","lastTitle"]),A(Ae,{loading:q.value,variant:"detail"},{default:Z(()=>[e("div",Hs,[e("div",Os,[a[5]||(a[5]=e("img",{class:"handbook-top-icon",src:Le,alt:""},null,-1)),e("p",Gs,c(r.value.handbookTitle),1),e("a",{href:"#",target:"_blank",class:"handbook-top-btn live800url",onClick:a[0]||(a[0]=le((...n)=>$(Y)&&$(Y)(...n),["stop"]))},"å
è´¹é¢å")])]),e("div",Ws,[p.value?(t(),l("div",Ys,[e("div",{class:V(["logo",{"no-logo":!r.value.logo}])},[r.value.logo?(t(),l("img",{key:0,loading:"lazy",src:r.value.logo,alt:r.value.nameCn},null,8,Zs)):u("",!0)],2),e("div",Js,[r.value.nameCn||r.value.ranks.length?(t(),l("div",Qs,[r.value.nameCn?(t(),l("h1",Xs,c(r.value.nameCn),1)):u("",!0),(t(!0),l(k,null,L(r.value.ranks,(n,y)=>(t(),U(_,{key:y,to:$(ms)(n.type),target:"_blank",class:"rank-tag"},{default:Z(()=>[W(c(n.text),1)]),_:2},1032,["to"]))),128))])):u("",!0),r.value.nameEn||r.value.website?(t(),l("div",qs,[r.value.nameEn?(t(),l("p",Ks,c(r.value.nameEn),1)):u("",!0),r.value.website?(t(),l("a",{key:1,class:"official",href:r.value.website,target:"_blank",rel:"noopener"},"ç¹å»è¿å»å¦æ ¡å®ç½",8,et)):u("",!0)])):u("",!0),r.value.tags.length?(t(),l("div",st,[(t(!0),l(k,null,L(r.value.tags,(n,y)=>(t(),l("span",{key:y,class:"type-tag"},c(n),1))),128))])):u("",!0),r.value.location?(t(),l("div",tt,[e("img",{class:"flag",src:r.value.countryLogo||$(hs),alt:""},null,8,at),r.value.countryLink?(t(),U(_,{key:0,to:r.value.countryLink,target:"_blank",class:"loc-link"},{default:Z(()=>[W(c(r.value.location),1)]),_:1},8,["to"])):(t(),l("span",ot,c(r.value.location),1))])):u("",!0)]),e("a",{href:"#",target:"_blank",class:"consult-btn live800url",onClick:a[1]||(a[1]=le((...n)=>$(Y)&&$(Y)(...n),["stop"]))},a[6]||(a[6]=[W(" å¨è¯¢é¢æ ¡æ¹æ¡ "),e("i",{class:"arrow"},null,-1)]))])):u("",!0),r.value.intro?(t(),l("div",lt,c(r.value.intro),1)):u("",!0),A(qe,{"scenery-url":S.value.schoolSceneryUrl,"country-cn":S.value.schoolCountryCn},null,8,["scenery-url","country-cn"]),o.value?(t(),l("div",nt,[a[7]||(a[7]=e("img",{class:"book-icon",src:Le,alt:""}
1,null,-1)),e("p",rt,c(r.value.handbookTitle),1),e("a",{href:"#",target:"_blank",class:"handbook-btn live800url",onClick:a[2]||(a[2]=le((...n)=>$(Y)&&$(Y)(...n),["stop"]))},"å
è´¹é¢å")])):u("",!0),G.value.length||v.value?(t(),l("div",it,[(t(!0),l(k,null,L(G.value,(n,y)=>(t(),l("div",{key:y,class:"info-row"},[e("div",ut,c(n.label),1),e("div",{class:V(["info-value",{"is-feature":n.type==="feature","is-website":n.type==="website"}])},[n.type==="feature"?(t(!0),l(k,{key:0},L(n.tags,(E,ue)=>(t(),l(k,{key:ue},[ue?(t(),l("span",ct,"ã")):u("",!0),A(_,{to:$(ps)(E),target:"_blank",class:"feature-link"},{default:Z(()=>[W(c(E),1)]),_:2},1032,["to"])],64))),128)):n.type==="website"?(t(),l(k,{key:1},[e("span",dt,c(n.value),1),e("button",{type:"button",class:"copy-btn",onClick:E=>$(ys)(n.value,"龿¥å·²å¤å¶")},"å¤å¶é¾æ¥",8,vt)],64)):(t(),l(k,{key:2},[W(c(n.value),1)],64))],2)]))),128)),v.value?(t(),l("div",mt,[a[9]||(a[9]=e("div",{class:"info-label"},"ä¸ä¸å表",-1)),e("div",pt,[e("div",yt,[e("div",ht,[(t(!0),l(k,null,L(te.value,(n,y)=>(t(),l("button",{key:"mf-"+y,type:"button",class:V(["tab",{active:C.value===y}]),onClick:E=>Ee(Number(y))},c(n.majorCategoryName),11,ft))),128))]),A(_,{to:re.value,target:"_blank",class:"more-link"},{default:Z(()=>a[8]||(a[8]=[W("æ¥çæ´å¤å¼è®¾ä¸ä¸ >>")])),_:1,__:[8]},8,["to"])]),h.value.length?(t(),l("div",_t,[(t(!0),l(k,null,L(h.value,(n,y)=>(t(),U(Xe,{key:n.id||y,data:n},null,8,["data"]))),128))])):(t(),U(f,{key:0,class:"sanku-empty",description:"ææ ä¸ä¸ä¿¡æ¯"}))])])):u("",!0)])):u("",!0),A(Ke,{class:"block-gap",title:ee.value.title,desc:ee.value.desc},null,8,["title","desc"]),P.value?(t(),l("section",bt,[a[10]||(a[10]=e("div",{class:"section-hd"},[e("i",{class:"hd-bar"}),e("h3",{class:"title"},"å½åæ¥å")],-1)),e("div",kt,[e("div",gt,[(t(!0),l(k,null,L(T.value,(n,y)=>(t(),l("button",{key:n.value||y,type:"button",class:V(["tab",{active:z.value===n.value}]),onClick:E=>xe(n)},c(n.name),11,Ct))),128))])]),e("div",wt,[e("div",jt,[e("div",{ref_key:"chartRef",ref:pe,class:"chart"},null,512)]),e("div",Rt,[e("div",$t,[me.value?(t(),l("div",Lt,"ç³è¯·æåæ¡ä¾ æ¬ç§å¦æ ¡ ç±»ååå¸")):u("",!0),e("button",{type:"button",class:"report-btn",onClick:a[3]||(a[3]=n=>b.value=!0)}," æ¥ç宿´å½åæ¥å> ")]),me.value?(t(),l("div",St,[(t(!0),l(k,null,L(ie.value,(n,y)=>(t(),l("div",{key:y,class:"stat-card"},[e("i",{class:"stat-bar",style:ce({background:n.color})},null,4),e("div",null,[e("strong",It,c(n.value)+"%",1),e("span",null,c(n.name),1)])]))),128))])):u("",!0)])])])):u("",!0),g.value.length?(t(),U(es,{key:5,class:"block-gap",title:"ç¸å
³èµè®¯","more-link":"/news",list:g.value},null,8,["list"])):u("",!0),K.value.length?(t(),U(Je,{key:6,class:"block-gap","more-link":se.value,list:K.value},null,8,["more-link","list"])):u("",!0)])]),_:1},8,["loading"]),A(Fs,{visible:b.value,"onUpdate:visible":a[4]||(a[4]=n=>b.value=n),"school-id":$(i),"major-mini-category":z.value,title:Ne.value},null,8,["visible","school-id","major-mini-category","title"])])}}}),Ht=Me(Dt,[["__scopeId","data-v-5af6fca4"]]);export{Ht as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.