{"id":98234,"date":"2020-10-26T08:42:14","date_gmt":"2020-10-26T06:42:14","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/kaitai-struct-0-9"},"modified":"2020-11-18T00:58:44","modified_gmt":"2020-11-17T22:58:44","slug":"kaitai-struct-0-9","status":"publish","type":"post","link":"https:\/\/prohoster.info\/nl\/blog\/news\/kaitai-struct-0-9","title":{"rendered":"Kaitai Struct 0.9","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/19408\/original.png\" itemprop=\"contentURL\"><br \/>\n      <img decoding=\"async\" alt=\"Kaitai Struct 0.9\" src=\"\/wp-content\/uploads\/2020\/10\/92300f20fcec3b23dc7200dc9c18ed42.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>    <\/a><\/p>\n<p>Onlangs is de nieuwste versie van Kaitai Struct 0.9 uitgebracht - een beschrijvings- en parsertool voor verschillende binaire formaten (bijvoorbeeld netwerkpakketten, afbeeldings-\/audio-\/video-bestanden, databases, archieven, containers, enz.). Ondanks het schijnbaar onschuldige versienummer 0.9 is dit een belangrijke release, die de ontwikkelingen van de afgelopen 2,5 jaar omvat. In deze tijd is de taal uitgegroeid tot een hele reeks projecten:<\/p>\n<ul>\n<li>een compiler die het mogelijk maakt om uit een specificatiebestand van het formaat (.ksy) een functionele parserbroncode in meerdere programmeertalen (C++, C#, Construct, Go, Java, JavaScript, Lua, Nim, Perl, PHP, Python, Ruby) te genereren, evenals diagrammen in GraphViz-formaat en menselijk leesbare formaat-specificaties in HTML;<\/li>\n<p><noindex><\/p>\n<li>tools voor het comfortabel ontwikkelen van specificaties met gelijktijdige visuele controle: <a rel=\"nofollow\" href=\"https:\/\/ide.kaitai.io\/\">Web IDE<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/kaitai-io\/kaitai_struct_visualizer\">console visualizer<\/a>, <a rel=\"nofollow\" href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=fudgepops.kaitai-struct-vscode\">plugin voor Visual Studio Code<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/Mahlet-Inc\/hobbits\">Hobbits<\/a>, <a rel=\"nofollow\" href=\"https:\/\/veles.io\/\">Veles<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/taviso\/kiewtai\">plugin voor Hiew<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/Vector35\/kaitai\">plugin voor Binary Ninja<\/a>;<\/li>\n<p><\/noindex><\/p>\n<li>modules voor integratie van Kaitai Struct in het bouwproces <a rel=\"nofollow\" href=\"https:\/\/github.com\/valery1707\/kaitai-maven-plugin\">voor Maven<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/valery1707\/kaitai-gradle-plugin\">voor Gradle<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/kaitaiStructCompile\/kaitaiStructCompile.setuptools\">voor Python<\/a>, <a rel=\"nofollow\" href=\"https:\/\/www.npmjs.com\/package\/kaitai-struct-loader\">voor JavaScript\/WebPack<\/a><\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/formats.kaitai.io\/\">formatenbibliotheek<\/a>, bestaande uit al 156 beschrijvingen (en <a rel=\"nofollow\" href=\"https:\/\/github.com\/kaitai-io\/kaitai_struct_formats\/pulls\">nog eens 78 formaten<\/a> zijn in behandeling voor pull request review).<\/li>\n<li>bibliotheek van inplugbare compressie-algoritmen <a rel=\"nofollow\" href=\"https:\/\/github.com\/kaitai-io\/kaitai_compress\">Kaitai Compress<\/a><\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/github.com\/kaitai-io\/kaitai_fs\">module voor FUSE \u2014 Kaitai FS<\/a>, die het mogelijk maakt om een bestand als bestandssysteem te monteren, gebruikmakend van de ksy-beschrijving van zijn formaat<\/li>\n<\/ul>\n<p><noindex><\/p>\n<p>Taal <a rel=\"nofollow\" href=\"https:\/\/github.com\/search?l=Kaitai+Struct&amp;q=filename%3Aksy&amp;type=Code\">erkend door GitHub<\/a> en nu gebruikt in meer dan 400 gratis \/ open source projecten voor het parseren van verschillende exotische datatypes, vari\u00ebrend van <a rel=\"nofollow\" href=\"https:\/\/github.com\/HiveWorkshop\/Formats\">reverse engineering van gegevensbestanden van eigendom spellen<\/a>, tot <a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/librespacefoundation\/satnogs\/satnogs-decoders\">het analyseren van communicatiemethoden van satellieten<\/a>.<\/p>\n<p><\/noindex><\/p>\n<p>Under de belangrijkste nieuws van de taal 0.9 valt:<\/p>\n<ul>\n<li>ondersteuning voor nieuwe doeltalen (Python via de Construct-bibliotheek, Nim, generatie van documentatie in HTML)<\/li>\n<li>volledige ondersteuning van modern C++ (smart pointers, geen handmatige geheugenbeheer nodig, oplossing van alle bekende geheugenlekproblemen)<\/li>\n<li>ondersteuning voor adressering van geneste types met syntaxis zoals foo::bar::baz<\/li>\n<li>ondersteuning voor validatie van gelezen gegevens aan de beschreven voorwaarden (valid)<\/li>\n<li>berekening van de afmetingen van statische datastructuren in bytes en bits (de operators sizeof en bitsizeof)<\/li>\n<li>formeel beschrijvend van de taal in de vorm van <a rel=\"nofollow\" href=\"https:\/\/github.com\/kaitai-io\/ksy_schema\">een JSON-schema<\/a>, waaruit nu <a rel=\"nofollow\" href=\"https:\/\/doc.kaitai.io\/ksy_diagram.html\">documentatie wordt gegenereerd<\/a><\/li>\n<\/ul>\n<p>Bron: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"http:\/\/www.linux.org.ru\/news\/opensource\/15955935\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>C\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u0432\u044b\u0448\u043b\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Kaitai Struct 0.9 \u2014 \u044f\u0437\u044b\u043a\u0430 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430 \u0432\u0441\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438\/\u0430\u0443\u0434\u0438\u043e\/\u0432\u0438\u0434\u0435\u043e, \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445, \u0430\u0440\u0445\u0438\u0432\u043e\u0432, \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0438 \u0442. \u0434.). \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043d\u0435\u0441\u0435\u0440\u044c\u0435\u0437\u043d\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0449\u0438\u0439 \u043d\u043e\u043c\u0435\u0440 \u0432\u0435\u0440\u0441\u0438\u0438 0.9 \u2014 \u044d\u0442\u043e \u043a\u0440\u0443\u043f\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0439 \u0432 \u0441\u0435\u0431\u044f \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 2.5 \u0433\u043e\u0434\u0430. \u0417\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u044f\u0437\u044b\u043a \u0432\u044b\u0440\u043e\u0441 \u0434\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":98235,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-98234","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/nl\/blog\/news\/kaitai-struct-0-9\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Kaitai Struct 0.9 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/nl\/blog\/news\/kaitai-struct-0-9\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-10-26T06:42:14+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-11-17T22:58:44+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Kaitai Struct 0.9 | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/news\/kaitai-struct-0-9","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Kaitai Struct 0.9 | ProHoster","og:url":"https:\/\/prohoster.info\/nl\/blog\/news\/kaitai-struct-0-9","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-10-26T06:42:14+00:00","article:modified_time":"2020-11-17T22:58:44+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"98234","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 10:02:30","updated":"2022-10-03 13:17:43","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/98234","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=98234"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/98234\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/98235"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=98234"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=98234"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=98234"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}