整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          Java對圖片Base64轉碼-HTML對Base64解碼「Java加強版」

          ava對圖片Base64編碼

          package base64;

          import java.awt.image.BufferedImage;

          import java.io.ByteArrayInputStream;

          import java.io.ByteArrayOutputStream;

          import java.io.File;

          import java.io.FileNotFoundException;

          import java.io.IOException;

          import java.io.RandomAccessFile;

          import java.util.Scanner;

          import javax.imageio.ImageIO;

          import sun.misc.BASE64Decoder;

          import sun.misc.BASE64Encoder;

          public class imageToBase64 {

          static BASE64Encoder encoder = new sun.misc.BASE64Encoder();

          static BASE64Decoder decoder = new sun.misc.BASE64Decoder();

          public static void main(String[] args) {

          Scanner scanner = new Scanner(System.in) ;

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 歡迎使用W_Jp的Base64編碼 **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("輸入圖片地址:");

          String path = scanner.next() ;

          if(!getImageBinary(path).equals(""))

          {

          System.out.printf("\n" + getImageBinary(path) + "\n\n");

          System.out.printf("是否導出內容?(Y/N):");

          String boo = scanner.next() ;

          if(boo.equals("Y") || boo.equals("y")){

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 1.導出現Base64編碼到TXT文檔 **\n");

          System.out.printf("\t\t** 2.導出Base64解碼后的png圖片 **\n");

          System.out.printf("\t\t** 3.同時操作以上兩個 **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("輸入您的選擇:");

          boo = scanner.next() ;

          if(boo.equals("1")){

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 溫馨提示:導出后文件名為wjp.txt **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("輸入Base64編碼的導出地址:");

          String toTxtPath = scanner.next() ;

          if(base64StringToTxt(getImageBinary(path), toTxtPath).equals("success")){

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 導出成功 **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** Thanks!!! **\n");

          System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");

          }

          } else if(boo.equals("2")){

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 溫馨提示:導出后文件名為wjp.png **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("輸入解碼后圖片的導出地址:");

          String toImgPath = scanner.next() ;

          if(base64StringToImage(getImageBinary(path), toImgPath).equals("success")){

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 導出成功 **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** Thanks!!! **\n");

          System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");

          }

          } else if(boo.equals("3")){

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 溫馨提示:導出后文件名為wjp.txt/wjp.png **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("輸入導出地址(兩個文件都會在這個目錄下):");

          String toBothPath = scanner.next() ;

          base64StringToImage(getImageBinary(path), toBothPath);

          if(base64StringToTxt(getImageBinary(path), toBothPath).equals("success")){

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 導出成功 **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** Thanks!!! **\n");

          System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");

          }

          } else {

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 您輸入的編號無效!!! 程序意外退出了!!! **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** Thanks!!! **\n");

          System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");

          }

          } else {

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** Thanks!!! **\n");

          System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");

          }

          }

          }

          static String getImageBinary(String path){

          File f = new File(path);

          BufferedImage bi;

          try {

          bi = ImageIO.read(f);

          ByteArrayOutputStream baos = new ByteArrayOutputStream();

          ImageIO.write(bi, "jpg", baos);

          byte[] bytes = baos.toByteArray();

          return encoder.encodeBuffer(bytes).trim();

          } catch (IOException e) {

          // e.printStackTrace();

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 您輸入的地址無效!!! 程序意外退出了!!! **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** Thanks!!! **\n");

          System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");

          }

          return "" ;

          }

          static String base64StringToImage(String base64String, String path){

          try {

          byte[] bytes1 = decoder.decodeBuffer(base64String);

          ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);

          BufferedImage bi1 =ImageIO.read(bais);

          File w2 = new File(path + "/wjp.png");

          ImageIO.write(bi1, "jpg", w2);

          } catch (Exception e) {

          // e.printStackTrace();

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 您輸入的地址無效!!! 程序意外退出了!!! **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** Thanks!!! **\n");

          System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");

          return "err" ;

          }

          return "success" ;

          }

          static String base64StringToTxt(String base64String, String path){

          File filename = new File(path + "/wjp.txt");

          RandomAccessFile mm = null ;

          try {

          mm = new RandomAccessFile(filename,"rw");

          try {

          mm.writeBytes(base64String);

          } catch (IOException e) {

          //e.printStackTrace();

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 寫入失敗 **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** Thanks!!! **\n");

          System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");

          return "err" ;

          }

          } catch (FileNotFoundException e) {

          //e.printStackTrace();

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 創建txt失敗 **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** Thanks!!! **\n");

          System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");

          return "err" ;

          } finally {

          try {

          if(mm!=null){

          mm.close();

          }

          } catch (IOException e) {

          //e.printStackTrace();

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** RandomAccessFile關閉失敗 **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** Thanks!!! **\n");

          System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");

          }

          }

          return "success" ;

          }

          }

          HTML對Base64解碼

          <html>

          <head>

          <meta http-equiv="Content-Type" content="text/html; charset=gbk">

          <title></title>

          <script type="text/javascript">

          //hideElement() , showElement()

          function hideElement(id){

          document.getElementById(id).style.display="none";

          }

          function showElement(id){

          document.getElementById(id).style.display="";

          }

          function wjp(id){

          if(id == 1){

          var values = document.getElementById("code").value ;

          var str = "<span><img src=\"data:image/gif;base64," + values + "\"/></span><br />" ;

          showElement("div2") ;

          hideElement("div1") ;

          document.getElementById("insert").innerHTML = str;

          }

          if(id == 2){

          showElement("div1") ;

          hideElement("div2") ;

          document.getElementById("code").value = "" ;

          }

          }

          </script>

          </head>

          <body>

          <center>

          <div id="div1">

          <h2 style="color:red;">W_Jp Base64解碼</h2>

          <textarea rows="20" cols="100" id="code"></textarea>

          <br />

          <input type="button" value="轉碼" onclick="wjp(1)"/>

          <br /><br /><br /><br /><br />

          </div>

          <div id="div2">

          <h2 style="color:red;">W_Jp 給您的結果</h2>

          <label id="insert"></label>

          <input type="button" value="繼續轉碼" onclick="wjp(2)"/>

          </div>

          </center>

          <script type="text/javascript">

          showElement("div1") ;

          hideElement("div2") ;

          </script>

          </body>

          </html>

          繼續給大家一組測試數據,嘗試用我的HTML代碼試試,看看能不能顯示出圖片

          /9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a

          HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy

          MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAJoAMgDASIA

          AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA

          AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3

          ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm

          p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA

          AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx

          BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK

          U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3

          uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1rS2K

          aLpwCJzaoTlQf6VLPfwW3lfaJ7WLzZBFH5iqodz0UZ6k+lRWIH9k6eD2tlJFcX4m05obnT7jWTba

          tLf30OniKSApFbwyA7zEu8kSErneST0Axisbu+5r0O+81t4BWMe3lr/hUUV/BNPLBHNbPNAAZo1C

          Fo9wyu4dRkcjPWs7T4LnR7GRdR1Rbq2t/wDVzzR7JFjGT+8fdhiBj5sL0JOc1xvhzU7yHxU2sXsC

          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

          4f7zf98H/CiiijmYWP/Z

          符實體

          一些字符在 HTML 中擁有特殊的含義,比如小于號 (<) 用于定義 HTML 標簽的開始,所以有時候直接在頁面中書寫的話,會產生意想不到的結果。如果我們希望瀏覽器正確地顯示這些字符,我們必須在 HTML 源碼中插入字符實體。

          字符實體有三部分:一個和號 (&),一個實體名稱或者 # 和一個實體編號,以及一個分號 (;)。

          要在 HTML 文檔中顯示小于號,我們需要這樣寫:< 或者 <

          使用實體名稱而不是實體編號的好處在于,名稱相對來說更容易記憶。而這么做的壞處是,并不是所有的瀏覽器都支持最新的實體名稱,然而幾乎所有的瀏覽器對實體編號的支持都很好。

          注意:實體對大小寫敏感。


          空格

          空格是 HTML 中最普通的字符實體。

          通常情況下,HTML 會裁掉文檔中的空格。假如你在文檔中連續輸入 10 個空格,那么 HTML 會去掉其中的9個而只顯示1個。如果使用 就可以在文檔中增加空格。

          以下就羅列下html頁面能使用到的字符實體


          最常用的字符實體

          顯示結果

          描述

          實體名稱

          實體編號


          空格

           

          <

          小于號

          <

          <

          >

          大于號

          >

          >

          &

          和號

          &

          &

          "

          引號

          "

          "

          '

          撇號

          ' (IE不支持)

          '


          其他一些常用的字符實體

          顯示結果

          描述

          實體名稱

          實體編號

          ¢

          ¢

          £

          £

          日圓

          ¥

          ¥

          §

          §

          §

          ?

          版權

          ©

          ©

          ?

          注冊商標

          ®

          ®

          ×

          乘號

          ×

          ×

          ÷

          除號

          ÷

          ÷

          學畢業當了一年多的音樂老師后, 曾就讀于華北地區某二本院校音樂教育專業的李娟決定轉行,“到了社會上,發現計算機行業崗位多、好的公司也多,就花一萬多報了家培訓機構,學習java轉去做后端。”

          文科生轉為碼農、程序員被稱作“文轉碼”。今年5月,某大型招聘平臺發布《2023大學生就業力調研報告》,其中一項核心發現為:深造畢業生“文轉碼”意愿強,但“缺乏基礎”是最大障礙。

          上述報告分析,當前數字經濟成為經濟發展的新動能,掌握數字技能的畢業生在就業市場上更具有優勢,因此“文轉碼”成為熱議的現象。

          社交媒體上,以“文科零基礎轉碼”“純文科轉碼上岸”“國內文科生轉碼路徑”等關鍵詞為主題的經驗分享不勝枚舉,成百上千的點贊、評論和收藏量似乎映射出“文科生轉碼或成趨勢”。

          1158萬,今年,再創新高的高校畢業生人數讓社會對大學生就業愈加關注。在嚴峻的就業形勢下,對文科生而言,“轉碼”能否為他們描繪出新的職業發展前景?當一名文科生決定踏進“轉碼”賽道,需要做好哪些準備、應對哪些挑戰?

          觸“碼”的動因

          今年9月,邱雨將赴香港攻讀語言學碩士,方向為計算語言學、語音識別 、以及NLP(自然語言處理)。她就讀于華北地區某211高校小語種專業,是2023年本科應屆畢業生,大學期間,她決定轉碼。“我覺得傳統文科不太好就業。”

          申請讀研學校的時候,邱雨瀏覽了各目標院校網站對畢業生就業去向的介紹,又到招聘平臺了解語言學相關的崗位,最后對技術產品經理產生了興趣。在她看來,應聘技術崗尤其是算法崗,計算機科班生的競爭已經很激烈;她現在的實習、未來找工作,都聚焦在技術產品經理崗,認為這是基于教育背景和學習經歷、理性的思維模式以及自身能力做出的更合適選擇,“雖然嚴格來說不屬于程序員,但我覺得和‘碼’是脫不開關系的。”

          從銷售轉型為程序員,蘇蒙用了差不多一年時間。2018年,他從東北一所普通本科院校的工商管理類專業畢業,入職了大連某快消品公司,負責客戶維護工作。在他看來,這份工作的天花板比較低,大連的物價和房價又相對較高,好的工作機會卻很少。“考慮到這座城市的IT行業還算熱門,第二年10月,我開始關注轉行。”

          瀏覽了當地IT類企業技術崗的用人需求后,蘇蒙在網上查找視頻了解學習方向,也向從事開發的大學同學請教,經過一個月的前期摸索,他為自己做好了規劃:用六個月時間完成轉碼。“當時想著花半年去學后端,但其實那段時間學習的只是基礎,實際學習時間延長到了一年左右。”

          網易數讀曾在多個“轉碼”相關的豆瓣小組、共2451條帖子里爬取過數據,結果顯示,文科轉碼的熱度指數以100.00問鼎,其次為商科和生化環材等學科;好就業、想出國、工資高是轉碼者們的主要考量原因。

          今年5月9日,國家統計局發布2022年城鎮單位就業人員平均工資數據,指出過去一年里,在城鎮非私營單位中,收入最高的為信息傳輸、軟件和信息技術服務業,從業人員年平均工資達22.04萬元,在19個行業門類中位居首位。6月上旬,麥可思研究發布的《2023年中國本科生就業報告》也表明,2022屆本科畢業生10大高薪專業,幾乎都被與IT緊密相關的計算機類、電子信息類專業占領,前三名分別為信息安全、信息工程以及數據科學與大數據技術。

          麥可思對2022屆本科畢業生畢業半年后的月收入及其專業調研情況表。圖/麥可思研究

          但也并非所有文轉碼者都出于“找到更好工作”的目的。文學類專業大三在讀生章瀟坦言,計算機行業在國內的吸引力是他轉碼的原因之一,但更主要的,是他發現所學專業不太能滿足自己的需求。當他大一下學期想更換賽道時,已經錯過了轉專業時間,于是,他選擇了輔修計算機技術與科學。“我的初衷不完全為了高薪,在本專業,我能一眼看到未來,從入學老師就告知我們,大部分同學會去考研、考公或者當老師。”

          李星是受訪者中最受“興趣”推動的轉碼者。目前,她就讀于華東地區某985高校中文系研二年級,轉碼的主要契機始于大二下學期時,她在書上看到了“計算語言學”的概念,并對此產生了濃厚興趣。“于是我決定去學計算機,更傾向于涉足交叉領域,因為我本人不太喜歡只做純文科的東西。”

          本專業的學分壓力使得李星無法再抽時間去修計算機的所有課程,她查資料了解了計算語言學方向的必學內容是哪些,自學了python、數據結構、計算機組成原理等,也選修了學校的一門課程。“后來保研我還是選擇留在本校中文系,不過已習慣于用計算機技術做科研。”

          “8小時學習制”

          剛進入研究生階段,李星就正式轉型了。在導師有關如何設計更好的交互模式促進二語習得的項目中,她對前端的興趣越來越大,便將前端開發確定為發展方向,且基于統計學和計算機語言,完成發表了兩篇文章。

          李星的轉碼基本都靠網絡自學,集中學習在研一學年,滿打滿算用了4個月,每天6-8小時,掌握JavaScript、html、css、Vue、React、TypeScript等相關知識,數據結構等內容也不能落下。“感覺確實挺困難的,如果我沒有這么強大的興趣、或者沒有從大二接觸一些相關內容的話,轉碼會是件非常痛苦的事情。”

          李星覺得,作為沒有體系化計算機學習背景的文科生,想要實現一個步驟,需看書或者上網大量查閱資料,不熟悉語法就容易敲錯代碼。“大家可能經常看到‘優雅的代碼’這一說法,其實代碼是可以精簡的,只要把它的邏輯想通,就不需要頻繁賦值或者開一個變量,但對當時的我來說,這種轉換是很緩慢的。”

          邱雨也提到了“8小時學習制”,大三上學期,她就跟著網課自學python和一些數據科學方面的課程,同時通過實習公司的內部培訓學習處理方法、語義理解和操作邏輯,具體方向為語音識別。“那段時間,因疫情居家的我除了學碼就沒有別的事了,每天起碼要用8小時聽課、刷推送、看書、練習,遇到問題就上csdn論壇或者找計算機專業的朋友請教,堅持了大半年,投入時間和精力超過了本專業的學習。”

          但章瀟的網課之路顯得更為艱難。覺得輔修專業課老師講授的理論可以吸收,他又找到加州大學伯克利分校的經典課程——CS61A,“它教我們使用python去探索和理解諸如‘遞歸’等很基礎的計算機概念,看視頻還行,但課上測試和課后大作業都非常難,向網友請教對我來說不太夠用。”他用一個暑期加一個學期、每天一兩個小時的時間去學習,實際產出卻很少,“學的東西就像是屠龍術,我產生了強烈的挫敗感。”

          同樣陷在產出困難里的蘇蒙選擇了借助外力。起初,他在業余時間跟著視頻寫代碼,越到后期涉及到框架搭建的內容時,他不太能憑一己之力找出bug(缺陷、漏洞、故障等)的問題所在,“說實話難度挺大的,即便很小的問題我都要摸索很久,當時給自己定了4小時未解決就跳過的時限,這自然會影響一個項目的完整性,我也有過放棄的想法。”

          后來,蘇蒙找到某知名軟件公司旗下的一家培訓機構,以2萬元的價格購買了三個多月的線下班,并辭職學習,上課時間為每個工作日的早上9點到下午5點。和他同班的學生大概二三十人,有工作了幾年的、也有沒畢業的,有計算機專業的、也有非科班生。在如今的蘇蒙看來,培訓班的授課內容基礎、速度緩慢,知識點與網絡視頻大同小異,并且體系老舊,難以銜接市面上要用到的技術,“不過,報班的好處就是能有人協助解決實操中遇到的困難,提高寫碼效率。”

          記者咨詢了千鋒、傳智、中公、達內等職業教育培訓機構,對方均表示未按文理科背景統計過學員數據。記者又以學員身份致電兩家頭部機構,雙方都提到學員里“很多是零基礎轉行”,其中一位課程規劃老師小塔說:“我的學生有學幼師、土木、法律、金融、漢語言文學等專業的,文科生不少,IT企業重學歷多于專業,所以非科班沒有關系。”她談及,在機構目前的學碼者中,來自計算機類專業和非計算機專業的學員占比分別為40%和60%,“敲代碼更加考驗的是邏輯,就看你能不能下功夫了。”

          “轉碼”路上的成功與失敗

          通過“曲線救國”的方式,邱雨如愿進入某知名科技公司做技術產品經理的實習,達成內心的轉碼目標。

          “雖然專業背景是純文科生,但我找實習還挺順利的,因為我跨領域的幅度不算很大,而且語言學+計算機的雙重積累非常符合崗位要求。”實際工作中,她遇到的困難主要跟數據抓取有關,這需要她寫代碼接入平臺;有時她會想,如果技術能力再強一點,主管應該會派出更重要的任務,自己也能從中學到更多。

          邱雨在社交平臺分享的轉碼經驗得到725個點贊和896份收藏。網絡截圖

          章瀟的“轉碼”之路則不太順利。兩年過去,他輔修的專業已進入畢業設計階段,他將自己定義為轉碼失敗者。

          暑期臨近,章瀟在投遞實習簡歷的同時摸索著新方向,“我沒有非要做技術的想法了,因為我只寫出過小游戲,履歷上沒有項目,短期內幾乎找不到面向計算機科班生的崗位。”嘗試大中廠(大、中型互聯網公司)的前端和框架設計師崗無果后,他主要向互聯網企業、媒體單位的運營崗發出了十余份簡歷。在等待回復中,章瀟開始審視自己到底更擅長和需要什么。

          “中小廠的程序員崗位反而比較排斥非科班人員,培養新人對其而言壓力和風險較高;大廠則有更富裕的時間和資源,但看重應聘者的學歷。”這是李星在求職過程中的發現。最近,她入職了一家大廠的非熱門部門做前端崗實習。

          此前,簡歷上只有一段小廠實習經歷的她沒能通過大廠主管面試,也去不了中小企業,“既消沉又焦慮,心想要不就不轉了,回原專業讀博吧。”在準備第三篇文章的時候,李星突然被“撈”了起來,三個面試官流露出對她的喜歡。“我能拿到這個大廠的offer,也跟上段實習做的偏3D交互方向的項目有關,當時用到了three.js封裝庫,面試我的團隊正好也需要會這一技術的人。”李星分析道。

          “之前接觸過從文科轉來做程序員的,其實我們不介意這點。”某大型網絡媒體公司HR告訴新京報記者,文轉碼的應聘者能否順利入職,主要取決于業務組成員的態度;互聯網企業里做算法比較厲害的團隊,會比較介意從外行轉入算法的候選人。

          愈發激烈的崗位競爭

          培訓班結課后,李娟瞄準后端崗投遞求職簡歷。她發現,現在的市場對本科以下學歷者已經不太友好了,“我們班里的專科生,找工作會很困難。”

          該說法在小塔老師和另一家頭部培訓機構招生老師小蓓處均得到印證,兩人多次向記者強調,本科及以上學歷是學習轉碼的優勢。小塔舉例說,機構對想要學java的學員,背景要求是大專計算機專業或者本科不限專業,學python、人工智能則必須是本科。“學歷是第一位,然后最主要的是提升技術,這行就是靠經驗積累慢慢走。”

          小蓓所在的機構對學員亦有背景要求,“大數據開發、人工智能須本科學歷,計算機、統計學、數學專業的會更好;前端、后端這些崗位就不怎么限制專業了。”但她個人不建議專科及以下學歷者再去學前端、測試、數據分析這類門檻相對更低的轉碼方向,“就業難度比較大,除非你不在乎工資。”小蓓補充說,從去年8月畢業班的求職情況來看,北京地區的招聘要求“突然”提高了,IT企業對學歷和年齡都卡得比較嚴,部分大專和中專學員去往了成都、沈陽等新一線或二線城市工作。“后端還稍微好一點,畢竟它屬于核心技術點。”

          一位不愿具名的業內人士透露,此前受疫情影響,就業比較難,所以程序員崗位的競爭非常激烈。“企業的用人條件高,需要有經驗,還可能要求本科也是計算機專業,行業狀況是變得難了些。”

          “我的求職還算順利。”結束了培訓機構的學習,蘇蒙在半個月里以平均每天兩三場的頻率參加程序員面試,坦誠說明自己文科生的背景,并未察覺到面試官有顧慮,之后,他到北京開啟了新的職業生涯。“我在北京待了不到兩年,從初級開發做起,供職過三家公司。”閑暇時,蘇蒙會繼續看視頻學習開發技術,工作遇到困難就上網搜索或者詢問組員,“問題多是常態,所以就得加班。隨著越來越熟練,月薪從七八千漲到兩萬,但因為在北京留不住,去年9月我又回到了大連。”

          有了一線城市的工作經歷,蘇蒙在大連找工作優勢明顯,他入職了一家公交產業相關的科技公司工作至今,做全棧開發工程師,月入約一萬五。他也注意并感知到越來越多的人正在涌入“碼”賽道,“導致行業更卷了,這就需要掌握更多知識,哪怕是工作中用不到的,面試時也要答得上來。”

          每年的10月24日是廣大程序員的共同節日。1024是2的十次方,二進制計數的基本計量單位之一。寓意程序員就像是一個個1024,以低調、踏實、核心的功能模塊搭建起這個科技世界。圖/IC photo

          專家建議不要追熱度盲目“轉碼”

          在蘇蒙看來,文科生想要轉碼,首先得看有無興趣,前期的基礎都學完了才能做開發,而理論學習是很枯燥的;其次,不宜一開始就花錢報班,可以先通過免費的網絡視頻了解相關知識,“有的人可能并不適合這個工作,它不需要數學有多好,但對推理邏輯能力有較高要求。”

          李星也認為,“文轉碼”者須具備比較強的邏輯能力和抽象能力,但更需要提前考慮的,是自身是否具備毅力和平穩的心態,不會因為寫不出程序而產生很大的情緒波動或者畏難心理;還要有充足的時間。“我們本專業的就業率其實挺高的,我很難說去當程序員就一定比同學們考公考編考教師走得好。”她提到,除了AIGC(人工智能生成內容)等少數方向,今年前端的形勢不算明朗,很多公司希望前端員工也能承擔一些后端內容,“所以是否轉碼一定要想清楚,我的規劃是把這份大廠實習當作平臺,跟著全棧的趨勢往前走。”

          那么,對于缺乏核心技術、在就業市場中競爭力不強的部分文科生群體而言,轉碼會是一個好的選擇嗎?

          “我覺得不應該用好壞來做主觀判定,而要用適不適合的客觀標準來檢驗。”中國教育科學研究院研究員儲朝暉談及,上大學之前,很多學生不知道自己的潛能在何處,報專業具有一定盲目性,不排除有部分文科生經過編程訓練成為了碼農,“他們是勝任還是轉行,通常兩三年就能見分曉。一個人只有做自己優勢所在的工作,才能更有利于整體的成長發展。”

          儲朝暉不建議對“碼”沒興趣、沒潛能的文科生匆忙轉碼,他認為青年人更應該在復雜艱難的環境中認識自己,與社會需求相匹配,“這是一個基本且關鍵的邏輯。”

          在職業發展經紀人佟志剛看來,“文轉碼”存在一定的偶然性,小眾行為普遍化,與培訓產業鏈的助推密不可分。“適合去做程序員的文科生數量太有限了。從客觀理智的角度講,市場上本身就有符合文科生素質的崗位,且文科生整體具備比較突出的語言表達能力和跳躍交互的思維,為什么要去相對不那么擅長的領域呢?轉碼并不是大多數文科生應對就業難題的最佳選擇。”他解釋道,固有的邏輯思維習慣和底層知識結構很難讓文科生在程序員崗位上走得遠,涉及到最純粹的技術討論時,文科生存在感變弱,時間一長容易傷害自尊心,“缺乏復雜思考、只是停留在應用層的技術好比砌磚,技術是不斷更新的,學習也要觸達核心。”

          佟志剛表示,年輕人在進行職業規劃時,要考慮自己的思維習慣或者專業背景;畢業后沒能從事理想工作,有時候不是專業的問題,而是學生本身欠缺一些垂直的專業技能和綜合素質。他建議大學生應多培養自己通用型的思維能力,提高理智性。

          對于不喜歡所讀專業或者覺得專業不適合的大學生,儲朝暉建議,如果轉專業失敗,還可以在空余時間盡量尋找和擴大自己的愛好與優勢,抓住考研或者求職的機會,把優勢發展起來。佟志剛則認為,“他們從一入學就缺少了對大學生活的準確認知。”他強調,上大學不僅是為了學一門專業,更多時候是在提升思維、開闊眼界,除了享受青春時光,大學生更要為未來提前做規劃和準備,比如了解就業市場上適合文科生的崗位有哪些、需要滿足什么條件,“車到山前必有路是很多學生存在的思維惰性。”

          儲朝暉和佟志剛都不贊成追熱度、隨大流的心態。佟志剛提醒,無論何時,都不應該放棄自我思考;此外,尊重國內就業環境,避免擺出過高姿態。“文科生不必妄自菲薄,文字功底、藝術文學積累、市場化的策劃能力等等,都是技術,只是和理工科造出一輛車、架設一座橋的技術角度不同罷了。”

          (為保護受訪者隱私,除儲朝暉和佟志剛外,文中人物均為化名)

          新京報記者 羅艷

          編輯 繆晨霞 校對 柳寶慶


          主站蜘蛛池模板: 久久亚洲中文字幕精品一区| 爆乳熟妇一区二区三区霸乳 | 亚洲熟妇无码一区二区三区导航 | 国产精品综合AV一区二区国产馆| 国产福利91精品一区二区三区| 无码视频免费一区二三区| 国产AV一区二区精品凹凸| 国产亚洲一区二区在线观看| 亚洲男女一区二区三区| 精品乱码一区内射人妻无码| 亚洲乱码国产一区三区| 亚洲欧美日韩中文字幕在线一区| 一区二区三区福利| 久久亚洲日韩精品一区二区三区| 国模无码视频一区| 国产高清不卡一区二区| 天堂成人一区二区三区| 2014AV天堂无码一区| 精品人妻无码一区二区三区蜜桃一 | 免费精品一区二区三区在线观看| 国产成人精品一区在线| 麻豆亚洲av熟女国产一区二| 加勒比精品久久一区二区三区| 国产福利精品一区二区| 波多野结衣一区二区三区88| 无码人妻一区二区三区在线| 暖暖免费高清日本一区二区三区| 国产精品无码一区二区三级| 无码精品不卡一区二区三区 | 一区二区三区视频网站| 无码人妻一区二区三区一| 国产一区二区精品久久凹凸| 色婷婷av一区二区三区仙踪林| 精品人伦一区二区三区潘金莲| 在线视频亚洲一区| 91久久精品国产免费一区| 国产精品 视频一区 二区三区| 国产乱码精品一区二区三区四川人 | 波多野结衣一区二区三区| 国产波霸爆乳一区二区| 国产一区二区三区亚洲综合 |